3.0.0
Freundlich's C++ toolkit
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
fcppt Namespace Reference

The top level namespace. More...

Namespaces

 algorithm
 General-purpose algorithms.
 
 assert_
 Helper functions for assertions.
 
 backtrace
 
 bit
 Bit operations.
 
 brigand
 Brigand related helper functions and metafunctions.
 
 cast
 Cast helpers which provide more type information or do additional checks.
 
 catch_
 
 container
 Various containers and utility functions.
 
 either
 Contains fcppt::either::object and helper types/functions for it.
 
 endianness
 Functions to convert and query endianness.
 
 enum_
 
 error
 
 filesystem
 Helper functions for boost::filesystem.
 
 intrusive
 
 io
 IO-related typedefs and functions.
 
 iterator
 
 log
 Logging classes and functions.
 
 math
 Everything math-related goes in here.
 
 optional
 
 options
 Library for command-line options.
 
 random
 Main namespace for random, also containing the variate generator.
 
 range
 
 record
 
 signal
 An implementation of a managed signals and slots system (replacement for boost's signals).
 
 system
 Helper functions for boost::system.
 
 time
 Time query and formatting utilities.
 
 type_iso
 Conversions between isomorphic types.
 
 type_traits
 Some additional type traits.
 
 variant
 Contains fcppt::variant::object and helper types/functions for it.
 

Classes

struct  add_reference
 Metafunction that adds fcppt::reference. More...
 
struct  boost_units_value
 Converts a boost unit to its value. More...
 
struct  c_deleter
 A deleter that uses std::free to destroy an object. More...
 
struct  com_deleter
 A deleter that uses the Release member function to destroy an object. More...
 
class  cyclic_iterator
 An iterator adaptor that cycles through a range. More...
 
struct  default_deleter
 A deleter that uses delete to destroy an object. More...
 
class  enable_shared_from_this
 Allows an object to obtain a shared ptr to itself. More...
 
class  exception
 The base class for all exceptions. More...
 
class  function
 
class  function< Ret(Args...)>
 A function object that cannot be null. More...
 
class  homogenous_pair
 A pair like std::pair with both elements of the same type. More...
 
struct  identity
 The identity function. More...
 
class  int_iterator
 An iterator over integers. More...
 
class  int_range
 A forward range over integers. More...
 
struct  is_reference
 Tests if a type is an fcppt::reference. More...
 
struct  is_strong_typedef
 Tests if a type is an fcppt::strong_typedef. More...
 
struct  make_literal
 
struct  no_init
 A dummy struct to use a constructor that does not initialize. More...
 
struct  quantity< Unit, Type >>
 Literal specialization for boost.units.
 
class  reference
 A simple reference wrapper that supports incomplete types. More...
 
struct  reference< Type >>
 A hash for fcppt::reference that hashes pointers. More...
 
struct  reference< Type >>
 
struct  reference_hash
 
class  scoped_state_machine
 Scopes a boost state machine. More...
 
class  shared_ptr
 A shared pointer class that gets the deleter as a template parameter. More...
 
struct  shared_ptr< Type >>
 A hash for fcppt::shared_ptr that hashes pointers. More...
 
struct  shared_ptr_hash
 
class  strong_typedef
 Used to create strong typedefs. More...
 
struct  strong_typedef< Type, Alias >>
 Hash function object for strong typedefs. More...
 
struct  strong_typedef< Type, Tag >>
 
struct  strong_typedef< Type, Tag >>
 
struct  strong_typedef_hash
 
struct  tag
 A value for a type name. More...
 
class  unique_ptr
 A simpler unique_ptr that shouldn't be used as a null pointer. More...
 
struct  unit
 The unit data type. More...
 
struct  value >>
 
class  weak_ptr
 A weak reference to an object owned by a shared pointer. More...
 

Typedefs

typedef char args_char
 The char type of the main function. More...
 
typedef fcppt::iterator::range< fcppt::args_vector::const_iterator > args_range
 A view over command line arguments. More...
 
typedef std::vector< fcppt::stringargs_vector
 A vector of command line arguments. More...
 
typedef fcppt::detail::char_type char_type
 The char_type used for text.See the string module description for more information. More...
 
typedef fcppt::version_integral_c< FCPPT_VERSION/100000UL > major_version
 fcppt's major version More...
 
typedef fcppt::version_integral_c< FCPPT_VERSION % 1000 > micro_version
 fcppt's micro version More...
 
typedef fcppt::version_integral_c<(FCPPT_VERSION/1000) % 1000 > minor_version
 fcppt's minor version More...
 
typedef fcppt::optional::object< std::size_t > optional_size_t
 
typedef fcppt::optional::object< std::string > optional_std_string
 An optional std string. More...
 
typedef fcppt::optional::object< fcppt::stringoptional_string
 An optional string. More...
 
typedef std::basic_string< fcppt::char_typestring
 The string type used for text. More...
 
template<typename StrongTypedef >
using strong_typedef_tag = typename fcppt::detail::strong_typedef_tag< StrongTypedef >::type
 The tag type of a strong typedef. More...
 
template<typename Type >
using tag_type = typename fcppt::detail::tag_type< fcppt::type_traits::remove_cv_ref_t< Type > >::type
 Extracts the type of fcppt::tag. More...
 
typedef unsigned long version_int
 The int type to use for a version component. More...
 
template<fcppt::version_int Value>
using version_integral_c = std::integral_constant< fcppt::version_int, Value >
 An integral constant for a version component. More...
 
typedef boost::basic_format< fcppt::char_typeformat
 A fcppt::char_type typedef for boost.format More...
 

Enumerations

enum  loop { loop::break_, loop::continue_ }
 Denotes a loop control statement. More...
 

Functions

template<typename T >
absurd ()
 The polymorphic terminate function. More...
 
FCPPT_DETAIL_SYMBOL fcppt::args_vector args (int argc, fcppt::args_char const *const *argv)
 Copy main arguments into a container. More...
 
FCPPT_DETAIL_SYMBOL fcppt::args_vector args_from_second (int argc, fcppt::args_char const *const *argv)
 Copy main arguments into a container, starting from the second. More...
 
template<typename Type >
fcppt::detail::const_< Type > const_ (Type _value)
 Function returning a constant. More...
 
template<typename Dest , typename Source >
fcppt::shared_ptr< Dest > const_pointer_cast (fcppt::shared_ptr< Source const > const &_ptr)
 Casts an fcppt::shared_ptr using const_cast More...
 
template<typename Type >
Type copy (Type const &_value)
 Copies a value. More...
 
template<typename Dest , typename Source >
fcppt::optional::object< fcppt::shared_ptr< Dest >> dynamic_pointer_cast (fcppt::shared_ptr< Source > const &_ptr)
 Casts an fcppt::shared_ptr using dynamic_cast More...
 
template<typename Dest , typename Source >
fcppt::optional::object< Dest > extract_from_string (Source const &_source, std::locale const &_locale=std::locale())
 Convert a string to a different type using a locale. More...
 
FCPPT_DETAIL_SYMBOL fcppt::string from_std_string (std::string const &)
 Convert from std::string to fcppt::string using fcppt::string_conv_localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL fcppt::string from_std_string_locale (std::string const &, std::locale const &)
 Convert from std::string to fcppt::string using a custom localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL fcppt::optional_string from_std_wstring (std::wstring const &)
 Convert from std::wstring to fcppt::string using fcppt::string_conv_localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL fcppt::optional_string from_std_wstring_locale (std::wstring const &, std::locale const &)
 Convert from std::wstring to fcppt::string using a custom localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string getenv (std::string const &)
 Gets an optional value from the environment. More...
 
template<typename Type >
std::size_t hash (Type const &_value)
 Calls std::hash. More...
 
std::size_t hash_combine (std::size_t const _hash_old, std::size_t const _hash_new)
 Combines two hashes. More...
 
template<typename T >
bool operator< (fcppt::homogenous_pair< T > const &_left, fcppt::homogenous_pair< T > const &_right)
 Compares two homogenous pairs lexicographically. More...
 
template<typename T >
bool operator== (fcppt::homogenous_pair< T > const &_left, fcppt::homogenous_pair< T > const &_right)
 Compares two homogenous pairs for equality. More...
 
template<typename T >
bool operator!= (fcppt::homogenous_pair< T > const &_left, fcppt::homogenous_pair< T > const &_right)
 Compares two homogenous pairs for equality. More...
 
template<typename T >
void swap (fcppt::homogenous_pair< T > &left, fcppt::homogenous_pair< T > &right)
 Free function for swapping pairs. More...
 
template<typename T , typename Ch , typename Traits >
std::basic_ostream< Ch, Traits > & operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::homogenous_pair< T > const &_pair)
 Writes a pair to an ostream. More...
 
template<typename Type , typename Arg >
constexpr fcppt::make_literal< Type >::decorated_type literal (Arg const &&_integral)
 Creates a literal of a type. More...
 
template<typename Type >
fcppt::reference< Type const > make_cref (Type const &_ref) noexcept
 Convenience function to create const references. More...
 
template<typename Type1 , typename Type2 >
fcppt::homogenous_pair< fcppt::type_traits::remove_cv_ref_t< Type1 >> make_homogenous_pair (Type1 &&_first, Type2 &&_second)
 Like std::make_pair for fcppt::homogenous_pair. More...
 
template<typename Int >
fcppt::int_range< Int > make_int_range (Int const _begin, Int const _end)
 Creates a forward integer range. More...
 
template<typename Int >
fcppt::int_range< Int > make_int_range_count (Int const _count)
 Creates a forward integer range starting at zero. More...
 
template<typename Type >
fcppt::reference< Type > make_ref (Type &_ref) noexcept
 Convenience function to create references. More...
 
template<typename Res , typename... Args>
fcppt::detail::make_shared_wrapper< Res > make_shared_ptr (Args &&..._args)
 Like std::make_shared for fcppt::shared_ptr. More...
 
template<typename Res , typename... Args>
fcppt::unique_ptr< Res > make_unique_ptr (Args &&..._args)
 Like std::make_unique for fcppt::unique_ptr. More...
 
template<typename Type >
Type move_clear (Type &_value)
 Moves out of a value and clears it. More...
 
template<bool Cond, typename Arg >
decltype(auto) move_if (Arg &&_arg)
 Moves an object if a condition is true. More...
 
template<typename Type , typename Arg >
decltype(auto) move_if_rvalue (Arg &&_arg)
 Moves an object if a type is an rvalue. More...
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string narrow (std::wstring const &_string, std::locale const &_locale=fcppt::string_conv_locale())
 Converts a std::wstring to std::string. More...
 
constexpr bool not_ (bool const _value)
 Boolean not. More...
 
template<typename Source >
fcppt::string output_to_fcppt_string (Source const &_source, std::locale const &_locale=std::locale())
 Convert an arbitrary type to a fcppt::string. More...
 
template<typename Source >
std::string output_to_std_string (Source const &_source, std::locale const &_locale=std::locale())
 Convert an arbitrary type to a std::string. More...
 
template<typename Source >
std::wstring output_to_std_wstring (Source const &_source, std::locale const &_locale=std::locale())
 Convert an arbitrary type to a std::wstring. More...
 
template<typename Dest , typename Source >
Dest output_to_string (Source const &_source, std::locale const &_locale=std::locale())
 Convert an arbitrary type to a string. More...
 
template<typename T >
bool operator== (fcppt::reference< T > const &_a, fcppt::reference< T > const &_b) noexcept
 Compares two references for equality. More...
 
template<typename T >
bool operator!= (fcppt::reference< T > const &_a, fcppt::reference< T > const &_b) noexcept
 Compares two references for inequality. More...
 
template<typename T >
bool operator< (fcppt::reference< T > const &_a, fcppt::reference< T > const &_b) noexcept
 Compares two references lexicographically. More...
 
template<typename T , typename Ch , typename Traits >
std::basic_ostream< Ch, Traits > & operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::reference< T > const &_ref)
 Outputs a reference wrapper to a stream. More...
 
template<typename Base , typename Type >
fcppt::reference< Base > reference_to_base (fcppt::reference< Type > const _ref) noexcept
 Converts a reference to a base class. More...
 
template<typename Type >
fcppt::reference< Type const > reference_to_const (fcppt::reference< Type > const _ref) noexcept
 Converts a reference to a const reference. More...
 
template<typename Type1 , typename Type2 , typename Deleter >
bool operator== (fcppt::shared_ptr< Type1, Deleter > const &left, fcppt::shared_ptr< Type2, Deleter > const &right)
 Compares two shared ptrs for equality. More...
 
template<typename Type1 , typename Type2 , typename Deleter >
bool operator!= (fcppt::shared_ptr< Type1, Deleter > const &left, fcppt::shared_ptr< Type2, Deleter > const &right)
 Compares two shared ptrs for inequality. More...
 
template<typename Type1 , typename Type2 , typename Deleter >
bool operator< (fcppt::shared_ptr< Type1, Deleter > const &left, fcppt::shared_ptr< Type2, Deleter > const &right)
 Checks if one shared ptr is less than the other. More...
 
template<typename Type , typename Deleter >
void swap (fcppt::shared_ptr< Type, Deleter > &left, fcppt::shared_ptr< Type, Deleter > &right)
 Swaps two shared pointers. More...
 
template<typename Ch , typename Traits , typename Type , typename Deleter >
std::basic_ostream< Ch, Traits > & operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::shared_ptr< Type, Deleter > const &_ptr)
 Outputs a shared pointer. More...
 
template<typename Dest , typename Source >
fcppt::shared_ptr< Dest > static_pointer_cast (fcppt::shared_ptr< Source > const &_ptr)
 Casts an fcppt::shared_ptr using static_cast More...
 
FCPPT_DETAIL_SYMBOL std::locale string_conv_locale ()
 Returns the default locale to use when converting strings. More...
 
template<typename StrongTypedef1 , typename Function , typename... StrongTypedefs>
auto strong_typedef_apply (Function const &_function, StrongTypedef1 &&_strong_typedef1, StrongTypedefs &&... _strong_typedefs) -> fcppt::strong_typedef< decltype(_function(fcppt::move_if_rvalue< StrongTypedef1 >(_strong_typedef1.get()), fcppt::move_if_rvalue< StrongTypedefs >(_strong_typedefs.get())...)), fcppt::strong_typedef_tag< fcppt::type_traits::remove_cv_ref_t< StrongTypedef1 > > >
 Applies a function to multiple strong typedefs. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator+ (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Add two strong typedefs. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator- (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Subtract two strong typedefs. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator* (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Multiply two strong typedefs. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator- (fcppt::strong_typedef< T, Tag > const &_value)
 Unary minus. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator++ (fcppt::strong_typedef< T, Tag > &_value)
 Preincrement operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator-- (fcppt::strong_typedef< T, Tag > &_value)
 Predecrement operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator++ (fcppt::strong_typedef< T, Tag > &_value, int)
 Postincrement operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator-- (fcppt::strong_typedef< T, Tag > &_value, int)
 Postdecrement operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator+= (fcppt::strong_typedef< T, Tag > &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Add and assign operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator-= (fcppt::strong_typedef< T, Tag > &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Subtract and assign operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator*= (fcppt::strong_typedef< T, Tag > &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Multiply and assign operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator&= (fcppt::strong_typedef< T, Tag > &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Bitwise and and assign operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator|= (fcppt::strong_typedef< T, Tag > &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Bitwise or and assign operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator^= (fcppt::strong_typedef< T, Tag > &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Bitwise xor and assign operator. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator & (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Bitwise and. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator| (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Bitwise or. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator^ (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Bitwise xor. More...
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator~ (fcppt::strong_typedef< T, Tag > const &_value)
 Bitwise negation. More...
 
template<typename T , typename Tag >
bool operator< (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator less. More...
 
template<typename T , typename Tag >
bool operator<= (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator less equal. More...
 
template<typename T , typename Tag >
bool operator> (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator greater. More...
 
template<typename T , typename Tag >
bool operator>= (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator greater equal. More...
 
template<typename T , typename Tag >
bool operator== (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator equal. More...
 
template<typename T , typename Tag >
bool operator!= (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator not equal. More...
 
template<typename StrongTypedef , typename Conv , typename Arg >
StrongTypedef strong_typedef_construct_cast (Arg const &_arg)
 Applies a cast from fcppt.cast and then construct the strong typedef. More...
 
template<typename T , typename Tag >
FCPPT_PP_POP_WARNING void swap (fcppt::strong_typedef< T, Tag > &, fcppt::strong_typedef< T, Tag > &)
 Swap the contents of two strong typedefs. More...
 
template<typename Ch , typename Traits , typename T , typename Tag >
std::basic_istream< Ch, Traits > & operator>> (std::basic_istream< Ch, Traits > &_stream, fcppt::strong_typedef< T, Tag > &_value)
 Input operator for strong typedefs. More...
 
template<typename StrongTypedef , typename Function >
auto strong_typedef_map (StrongTypedef &&_input, Function const &_function) -> fcppt::strong_typedef< decltype(_function(fcppt::move_if_rvalue< StrongTypedef >(_input.get()))), fcppt::strong_typedef_tag< fcppt::type_traits::remove_cv_ref_t< StrongTypedef > > >
 Maps over a strong typedef. More...
 
template<typename Ch , typename Traits , typename T , typename Tag >
std::basic_ostream< Ch, Traits > & operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::strong_typedef< T, Tag > const &_value)
 Output operator for strong typedefs. More...
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string to_std_string (fcppt::string const &)
 Convert from fcppt::string to std::string using fcppt::string_conv_localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string to_std_string_locale (fcppt::string const &, std::locale const &)
 Convert from fcppt::string to std::string using a custom localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL std::wstring to_std_wstring (fcppt::string const &)
 Convert from fcppt::string to std::wstring using fcppt::string_conv_localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL std::wstring to_std_wstring_locale (fcppt::string const &, std::locale const &)
 Convert from fcppt::string to std::wstring using a custom localeSee the string module description for more information about this function. More...
 
FCPPT_DETAIL_SYMBOL std::string type_name (char const *)
 Returns a demangled type name if possible. More...
 
FCPPT_DETAIL_SYMBOL std::string type_name_from_index (std::type_index const &)
 Returns a demangled type name if possible. More...
 
FCPPT_DETAIL_SYMBOL std::string type_name_from_info (std::type_info const &)
 Returns a demangled type name if possible. More...
 
template<typename Cast , typename Derived , typename Base , typename Deleter >
fcppt::variant::variadic< fcppt::unique_ptr< Derived, Deleter >, fcppt::unique_ptr< Base, Deleter >> unique_ptr_dynamic_cast (fcppt::unique_ptr< Base, Deleter > &&_other) noexcept
 Casts a unique_ptr to a derived class. More...
 
template<typename Type >
fcppt::optional::object< fcppt::unique_ptr< Type >> unique_ptr_from_std (std::unique_ptr< Type > &&_ptr)
 Converts a std::unique_ptr to an fcppt unique ptr. More...
 
template<typename Base , typename Derived , typename Deleter >
fcppt::unique_ptr< Base, Deleter > unique_ptr_to_base (fcppt::unique_ptr< Derived, Deleter > &&_other) noexcept
 Casts a unique_ptr to a base class. More...
 
template<typename Type , typename Deleter >
fcppt::unique_ptr< Type const, Deleter > unique_ptr_to_const (fcppt::unique_ptr< Type, Deleter > &&_other) noexcept
 Casts a unique_ptr to a const unique_ptr. More...
 
bool operator== (fcppt::unit const &, fcppt::unit const &)
 Compares units for equality. More...
 
bool operator!= (fcppt::unit const &, fcppt::unit const &)
 Compares units for inequality. More...
 
template<typename Ch , typename Traits >
std::basic_ostream< Ch, Traits > & operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::unit const &)
 Outputs a unit to a basic_ostream. More...
 
FCPPT_DETAIL_SYMBOL fcppt::string version_string ()
 fcppt's version as a string More...
 
template<typename Type1 , typename Type2 , typename Deleter >
bool operator< (fcppt::weak_ptr< Type1, Deleter > const &left, fcppt::weak_ptr< Type2, Deleter > const &right) noexcept
 Checks if one weak ptr is less than the other. More...
 
template<typename Type , typename Deleter >
void swap (fcppt::weak_ptr< Type, Deleter > &left, fcppt::weak_ptr< Type, Deleter > &right) noexcept
 Swaps two weak pointers. More...
 
FCPPT_DETAIL_SYMBOL std::wstring widen (std::string const &, std::locale const &=fcppt::string_conv_locale())
 Converts a std::string to std::wstring. More...
 

Variables

template<typename Type , typename Iterator >
decltype(fcppt::detail::move_iterator_if_rvalue< Type >(std::declval< Iterator const &>())) move_iterator_if_rvalue (Iterator const &_iterator)
 Makes a move iterator if a type is an rvalue. More...
 

Detailed Description

The top level namespace.

Typedef Documentation

◆ optional_size_t

Function Documentation

◆ swap() [1/2]

template<typename T >
void fcppt::swap ( fcppt::homogenous_pair< T > &  left,
fcppt::homogenous_pair< T > &  right 
)

Free function for swapping pairs.

Calls left.swap(right)

Parameters
leftThe first pair to swap
rightThe second pair to swap

◆ swap() [2/2]

template<typename T , typename Tag >
FCPPT_PP_POP_WARNING void fcppt::swap ( fcppt::strong_typedef< T, Tag > &  ,
fcppt::strong_typedef< T, Tag > &   
)

Swap the contents of two strong typedefs.

Template Parameters
TThe underlying type to be wrapped.
TagA unique tag type