Boost-Geometry-Utils
view release on metacpan or search on metacpan
src/boost/format/detail/compat_workarounds.hpp view on Meta::CPAN
// and compiler-specific switches)
// Non-conformant Std-libs fail to supply conformant traits (std::char_traits,
// std::allocator) and/or the std::string doesnt support them.
// We don't want to have hundreds of #ifdef workarounds, so we define
// replacement traits.
// But both char_traits and allocator traits are visible in the interface,
// (inside the final string type), thus we need to keep both
// the replacement type (typedefed to 'compatible_type') for real use,
// and the original stdlib type (typedef to 'type_for_string') for interface
// visibility. This is what Compat* classes do (as well as be transparent
// when good allocator and char traits are present)
#ifndef BOOST_FORMAT_COMPAT_WORKAROUNDS_HPP
#define BOOST_FORMAT_COMPAT_WORKAROUNDS_HPP
namespace boost {
namespace io {
// gcc-2.95 char traits (non-conformantly named string_char_traits)
// lack several functions so we extend them in a replacement class.
src/boost/format/detail/compat_workarounds.hpp view on Meta::CPAN
#endif
namespace boost {
namespace io {
// **** CompatTraits general definitions : ----------------------------
template<class Tr>
class CompatTraits
{ // general case : be transparent
public:
typedef Tr compatible_type;
};
// **** CompatAlloc general definitions : -----------------------------
template<class Alloc>
class CompatAlloc
{ // general case : be transparent
public:
typedef Alloc compatible_type;
};
} //N.S. io
} // N.S. boost
#endif // include guard
src/boost/format/detail/workarounds_gcc-2_95.hpp view on Meta::CPAN
// ----------------------------------------------------------------------------
// There's a lot to do, the stdlib shipped with gcc prior to 3.x
// was terribly non-conforming.
// . defines macros switches
// . supplies template classes basic_foo<char,Tr> where gcc only supplies foo.
// i.e :
// - basic_ios<char, Tr> from ios
// - basic_ostream<char, Tr> from ostream
// - basic_srteambuf<char, Tr> from streambuf
// these can be used transparently. (it obviously does not work for wchar_t)
// . specialise CompatAlloc and CompatTraits to wrap gcc-2.95's
// string_char_traits and std::alloc
#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
// only for gcc-2.95's native stdlib
#ifndef BOOST_FORMAT_WORKAROUNDS_GCC295_H
#define BOOST_FORMAT_WORKAROUNDS_GCC295_H
// SGI STL doesnt have <ostream> and others, so we need iostream.
src/boost/mpi/datatype.hpp view on Meta::CPAN
BOOST_MPI_DATATYPE(boost::archive::tracking_type, get_mpi_datatype(bool()), builtin);
BOOST_MPI_DATATYPE(boost::serialization::collection_size_type, get_mpi_datatype(std::size_t()), integer);
BOOST_MPI_DATATYPE(boost::serialization::item_version_type, get_mpi_datatype(uint_least8_t()), integer);
#endif // Doxygen
} } // end namespace boost::mpi
// direct support for special primitive data types of the serialization library
// in the case of homogeneous systems
// define a macro to make explicit designation of this more transparent
#define BOOST_IS_MPI_DATATYPE(T) \
namespace boost { \
namespace mpi { \
template<> \
struct is_mpi_datatype< T > : mpl::true_ {}; \
}} \
/**/
#endif // BOOST_MPI_MPI_DATATYPE_HPP
src/boost/serialization/assume_abstract.hpp view on Meta::CPAN
#else
// we have to "make" one
namespace boost {
namespace serialization {
template<class T>
struct is_abstract : boost::false_type {};
} // namespace serialization
} // namespace boost
// define a macro to make explicit designation of this more transparent
#define BOOST_SERIALIZATION_ASSUME_ABSTRACT(T) \
namespace boost { \
namespace serialization { \
template<> \
struct is_abstract< T > : boost::true_type {}; \
template<> \
struct is_abstract< const T > : boost::true_type {}; \
}} \
/**/
src/boost/serialization/is_bitwise_serializable.hpp view on Meta::CPAN
namespace boost {
namespace serialization {
template<class T>
struct is_bitwise_serializable
: public is_arithmetic< T >
{};
} // namespace serialization
} // namespace boost
// define a macro to make explicit designation of this more transparent
#define BOOST_IS_BITWISE_SERIALIZABLE(T) \
namespace boost { \
namespace serialization { \
template<> \
struct is_bitwise_serializable< T > : mpl::true_ {}; \
}} \
/**/
#endif //BOOST_SERIALIZATION_IS_BITWISE_SERIALIZABLE_HPP
( run in 0.398 second using v1.01-cache-2.11-cpan-a1d94b6210f )