duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.git
Log | Files | Refs | README | LICENSE

vector_fwd.hpp (2450B)


      1 #ifndef _C4_STD_VECTOR_FWD_HPP_
      2 #define _C4_STD_VECTOR_FWD_HPP_
      3 
      4 /** @file vector_fwd.hpp */
      5 
      6 #include <cstddef>
      7 
      8 // forward declarations for std::vector
      9 #if defined(__GLIBCXX__) || defined(__GLIBCPP__) || defined(_MSC_VER)
     10 #if defined(_MSC_VER)
     11 __pragma(warning(push))
     12 __pragma(warning(disable : 4643))
     13 #endif
     14 namespace std {
     15 template<typename> class allocator;
     16 #ifdef _GLIBCXX_DEBUG
     17 inline namespace __debug {
     18 template<typename T, typename Alloc> class vector;
     19 }
     20 #else
     21 template<typename T, typename Alloc> class vector;
     22 #endif
     23 } // namespace std
     24 #if defined(_MSC_VER)
     25 __pragma(warning(pop))
     26 #endif
     27 #elif defined(_LIBCPP_ABI_NAMESPACE)
     28 namespace std {
     29 inline namespace _LIBCPP_ABI_NAMESPACE {
     30 template<typename> class allocator;
     31 template<typename T, typename Alloc> class vector;
     32 } // namespace _LIBCPP_ABI_NAMESPACE
     33 } // namespace std
     34 #else
     35 #error "unknown standard library"
     36 #endif
     37 
     38 #ifndef C4CORE_SINGLE_HEADER
     39 #include "c4/substr_fwd.hpp"
     40 #endif
     41 
     42 namespace c4 {
     43 
     44 template<class Alloc> c4::substr to_substr(std::vector<char, Alloc> &vec);
     45 template<class Alloc> c4::csubstr to_csubstr(std::vector<char, Alloc> const& vec);
     46 
     47 template<class Alloc> bool operator!= (c4::csubstr ss, std::vector<char, Alloc> const& s);
     48 template<class Alloc> bool operator== (c4::csubstr ss, std::vector<char, Alloc> const& s);
     49 template<class Alloc> bool operator>= (c4::csubstr ss, std::vector<char, Alloc> const& s);
     50 template<class Alloc> bool operator>  (c4::csubstr ss, std::vector<char, Alloc> const& s);
     51 template<class Alloc> bool operator<= (c4::csubstr ss, std::vector<char, Alloc> const& s);
     52 template<class Alloc> bool operator<  (c4::csubstr ss, std::vector<char, Alloc> const& s);
     53 
     54 template<class Alloc> bool operator!= (std::vector<char, Alloc> const& s, c4::csubstr ss);
     55 template<class Alloc> bool operator== (std::vector<char, Alloc> const& s, c4::csubstr ss);
     56 template<class Alloc> bool operator>= (std::vector<char, Alloc> const& s, c4::csubstr ss);
     57 template<class Alloc> bool operator>  (std::vector<char, Alloc> const& s, c4::csubstr ss);
     58 template<class Alloc> bool operator<= (std::vector<char, Alloc> const& s, c4::csubstr ss);
     59 template<class Alloc> bool operator<  (std::vector<char, Alloc> const& s, c4::csubstr ss);
     60 
     61 template<class Alloc> size_t to_chars(c4::substr buf, std::vector<char, Alloc> const& s);
     62 template<class Alloc> bool from_chars(c4::csubstr buf, std::vector<char, Alloc> * s);
     63 
     64 } // namespace c4
     65 
     66 #endif // _C4_STD_VECTOR_FWD_HPP_