BVB Source Codes

mars Show container_fwd.hpp Source code

Return Download mars: download container_fwd.hpp Source code - Download mars Source code - Type:.hpp
  1.  
  2. // Copyright 2005-2011 Daniel James.
  3. // Distributed under the Boost Software License, Version 1.0. (See accompanying
  4. // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  5.  
  6. // Note: if you change this include guard, you also need to change
  7. // container_fwd_compile_fail.cpp
  8. #if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)
  9. #define BOOST_DETAIL_CONTAINER_FWD_HPP
  10.  
  11. #if defined(_MSC_VER) && \
  12.     !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
  13. # pragma once
  14. #endif
  15.  
  16. #include <boost/config.hpp>
  17. #include <boost/detail/workaround.hpp>
  18.  
  19. ////////////////////////////////////////////////////////////////////////////////
  20. //                                                                            //
  21. // Define BOOST_DETAIL_NO_CONTAINER_FWD if you don't want this header to      //
  22. // forward declare standard containers.                                       //
  23. //                                                                            //
  24. // BOOST_DETAIL_CONTAINER_FWD to make it foward declare containers even if it //
  25. // normally doesn't.                                                          //
  26. //                                                                            //
  27. // BOOST_DETAIL_NO_CONTAINER_FWD overrides BOOST_DETAIL_CONTAINER_FWD.        //
  28. //                                                                            //
  29. ////////////////////////////////////////////////////////////////////////////////
  30.  
  31. #if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
  32. #  if defined(BOOST_DETAIL_CONTAINER_FWD)
  33.      // Force forward declarations.
  34. #  elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
  35.      // STLport
  36. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  37. #  elif defined(__LIBCOMO__)
  38.      // Comeau STL:
  39. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  40. #  elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
  41.      // Rogue Wave library:
  42. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  43. #  elif defined(_LIBCPP_VERSION)
  44.      // libc++
  45. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  46. #  elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
  47.      // GNU libstdc++ 3
  48.      //
  49.      // Disable forwarding for all recent versions, as the library has a
  50.      // versioned namespace mode, and I don't know how to detect it.
  51. #    if __GLIBCXX__ >= 20070513 \
  52.         || defined(_GLIBCXX_DEBUG) \
  53.         || defined(_GLIBCXX_PARALLEL) \
  54.         || defined(_GLIBCXX_PROFILE)
  55. #      define BOOST_DETAIL_NO_CONTAINER_FWD
  56. #    else
  57. #      if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530
  58. #        define BOOST_CONTAINER_FWD_COMPLEX_STRUCT
  59. #      endif
  60. #    endif
  61. #  elif defined(__STL_CONFIG_H)
  62.      // generic SGI STL
  63.      //
  64.      // Forward declaration seems to be okay, but it has a couple of odd
  65.      // implementations.
  66. #    define BOOST_CONTAINER_FWD_BAD_BITSET
  67. #    if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
  68. #      define BOOST_CONTAINER_FWD_BAD_DEQUE
  69. #     endif
  70. #  elif defined(__MSL_CPP__)
  71.      // MSL standard lib:
  72. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  73. #  elif defined(__IBMCPP__)
  74.      // The default VACPP std lib, forward declaration seems to be fine.
  75. #  elif defined(MSIPL_COMPILE_H)
  76.      // Modena C++ standard library
  77. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  78. #  elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
  79.      // Dinkumware Library (this has to appear after any possible replacement
  80.      // libraries)
  81. #  else
  82. #    define BOOST_DETAIL_NO_CONTAINER_FWD
  83. #  endif
  84. #endif
  85.  
  86. #if !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
  87.  
  88. #if defined(BOOST_DETAIL_NO_CONTAINER_FWD) && \
  89.     !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
  90.  
  91. #include <deque>
  92. #include <list>
  93. #include <vector>
  94. #include <map>
  95. #include <set>
  96. #include <bitset>
  97. #include <string>
  98. #include <complex>
  99.  
  100. #else
  101.  
  102. #include <cstddef>
  103.  
  104. #if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
  105. #include <deque>
  106. #endif
  107.  
  108. #if defined(BOOST_CONTAINER_FWD_BAD_BITSET)
  109. #include <bitset>
  110. #endif
  111.  
  112. #if defined(BOOST_MSVC)
  113. #pragma warning(push)
  114. #pragma warning(disable:4099) // struct/class mismatch in fwd declarations
  115. #endif
  116.  
  117. namespace std
  118. {
  119.     template <class T> class allocator;
  120.     template <class charT, class traits, class Allocator> class basic_string;
  121.  
  122.     template <class charT> struct char_traits;
  123.  
  124. #if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT)
  125.     template <class T> struct complex;
  126. #else
  127.     template <class T> class complex;
  128. #endif
  129.  
  130. #if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
  131.     template <class T, class Allocator> class deque;
  132. #endif
  133.  
  134.     template <class T, class Allocator> class list;
  135.     template <class T, class Allocator> class vector;
  136.     template <class Key, class T, class Compare, class Allocator> class map;
  137.     template <class Key, class T, class Compare, class Allocator>
  138.     class multimap;
  139.     template <class Key, class Compare, class Allocator> class set;
  140.     template <class Key, class Compare, class Allocator> class multiset;
  141.  
  142. #if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)
  143.     template <size_t N> class bitset;
  144. #endif
  145.     template <class T1, class T2> struct pair;
  146. }
  147.  
  148. #if defined(BOOST_MSVC)
  149. #pragma warning(pop)
  150. #endif
  151.  
  152. #endif // BOOST_DETAIL_NO_CONTAINER_FWD &&
  153.        // !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
  154.  
  155. #endif // BOOST_DETAIL_TEST_CONFIG_ONLY
  156.  
  157. #endif
  158.  
downloadcontainer_fwd.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top