4.6.0
Freundlich's C++ toolkit
Loading...
Searching...
No Matches
fcppt Namespace Reference

The top level namespace. More...

Namespaces

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

Classes

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...
 
struct  deref_impl
 
struct  deref_impl< Arg, std::enable_if_t< fcppt::is_recursive< std::remove_const_t< Arg > >::value > >
 
struct  deref_impl< Arg, std::enable_if_t< fcppt::is_reference< std::remove_const_t< Arg > >::value > >
 
struct  deref_impl< Arg, std::enable_if_t< fcppt::is_unique_ptr< std::remove_const_t< Arg > >::value > >
 
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...
 
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_recursive
 Tests if a type is an fcppt::recursive. More...
 
struct  is_recursive< fcppt::recursive< Type > >
 
struct  is_reference
 Tests if a type is an fcppt::reference. More...
 
struct  is_reference< fcppt::reference< Type > >
 
struct  is_strong_typedef
 Tests if a type is an fcppt::strong_typedef. More...
 
struct  is_strong_typedef< fcppt::strong_typedef< Type, Tag > >
 
struct  is_unique_ptr
 Tests if a type is an fcppt::unique_ptr. More...
 
struct  is_unique_ptr< fcppt::unique_ptr< Type, Deleter > >
 
struct  make_literal
 
struct  make_literal< boost::units::quantity< Unit, Type > >
 Literal specialization for boost.units.
 
struct  make_literal< fcppt::strong_typedef< Type, Tag > >
 
struct  make_literal< Type, std::enable_if_t< std::is_arithmetic_v< Type > > >
 
struct  no_init
 A dummy struct to use a constructor that does not initialize. More...
 
struct  output_impl
 
struct  output_impl< Arg, void >
 
struct  output_impl< std::pair< T1, T2 >, void >
 
struct  output_impl< std::string, void >
 
struct  overloaded
 Overloads multiple lambdas. More...
 
class  recursive
 Turns an incomplete type into a complete one, allowing recursion. More...
 
class  reference
 A simple reference wrapper that supports incomplete types. More...
 
struct  reference_hash
 
struct  reference_hash< fcppt::reference< Type > >
 A hash for fcppt::reference that hashes pointers. More...
 
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_hash
 
struct  shared_ptr_hash< fcppt::shared_ptr< Type > >
 A hash for fcppt::shared_ptr that hashes pointers. More...
 
class  strong_typedef
 Used to create strong typedefs. More...
 
struct  strong_typedef_hash
 
struct  strong_typedef_hash< fcppt::strong_typedef< Type, Alias > >
 Hash function object for strong typedefs. More...
 
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...
 
class  weak_ptr
 A weak reference to an object owned by a shared pointer. More...
 

Typedefs

using args_char = fcppt::detail::args_char
 The char type of the main function.
 
using args_range = fcppt::iterator::range<fcppt::args_vector::const_iterator>
 A view over command line arguments.
 
using args_vector = std::vector<fcppt::string>
 A vector of command line arguments.
 
using char_type = fcppt::detail::char_type
 The char_type used for text.
 
template<typename Arg >
using deref_type = decltype(fcppt::deref(std::declval<Arg &>()))
 The type of fcppt::deref.
 
using major_version
 fcppt's major version
 
using micro_version
 fcppt's micro version
 
using minor_version
 fcppt's minor version
 
template<typename Type , typename Arg >
using move_if_rvalue_type = decltype(fcppt::move_if_rvalue<Type>(std::declval<Arg>()))
 Type of fcppt::move_if_rvalue.
 
using optional_error_code = fcppt::optional::object<std::error_code>
 An optional error code.
 
using optional_std_string = fcppt::optional::object<std::string>
 An optional std string.
 
using optional_string = fcppt::optional::object<fcppt::string>
 An optional string.
 
using string = std::basic_string<fcppt::char_type>
 The string type used for text.
 
using string_view = std::basic_string_view<fcppt::char_type>
 The string view type used for text.
 
template<typename StrongTypedef >
using strong_typedef_tag = typename fcppt::detail::strong_typedef_tag<StrongTypedef>::type
 The tag type of a strong typedef.
 
template<typename Type >
using tag_type = typename fcppt::detail::tag_type<std::remove_cvref_t<Type>>::type
 Extracts the type of fcppt::tag.
 
using version_int
 The int type to use for a version component.
 
template<fcppt::version_int Value>
using version_integral_c = std::integral_constant<fcppt::version_int, Value>
 An integral constant for a version component.
 
using format = boost::basic_format<fcppt::char_type>
 A fcppt::char_type typedef for boost.format
 

Enumerations

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

Functions

template<typename T >
absurd ()
 The polymorphic terminate function.
 
FCPPT_DETAIL_SYMBOL fcppt::args_vector args (int argc, fcppt::args_char const *const *argv)
 Copy main arguments into a container.
 
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.
 
template<typename If , typename Then >
std::invoke_result_t< If > cond (bool const _conditional, If const &_if, Then const &_then)
 Functional if-then-else.
 
template<typename Type >
fcppt::detail::const_< Type > const_ (Type _value)
 Function returning a constant.
 
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
 
template<typename Type >
Type copy (Type const &_value)
 Copies a value.
 
template<typename Arg >
decltype(auto) deref (Arg &_arg)
 Dereferences an object.
 
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
 
FCPPT_DETAIL_SYMBOL fcppt::string error_code_to_string (std::error_code const &)
 Converts an error code to an fcppt::string.
 
template<typename Dest , fcppt::concepts::string Source>
fcppt::optional::object< Dest > extract_from_string (Source &&_source)
 Convert a string to a different type using fcppt::insert_extract_locale.
 
template<typename Dest , fcppt::concepts::string Source>
fcppt::optional::object< Dest > extract_from_string_fmt (Source &&_source, std::ios_base::fmtflags const _flags)
 Convert a string to a different type using fcppt::insert_extract_locale and format flags.
 
template<typename Dest , fcppt::concepts::string Source>
fcppt::optional::object< Dest > extract_from_string_locale_fmt (Source &&_source, std::locale const &_locale, fcppt::optional::object< std::ios_base::fmtflags > const _flags)
 Convert a string to a different type using a locale.
 
FCPPT_DETAIL_SYMBOL fcppt::string from_std_string (std::string_view)
 Convert from std::string to fcppt::string using fcppt::string_conv_locale.
 
FCPPT_DETAIL_SYMBOL fcppt::string from_std_string_locale (std::string_view, std::locale const &)
 Convert from std::string to fcppt::string using a custom locale.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_string from_std_wstring (std::wstring_view)
 Convert from std::wstring to fcppt::string using fcppt::string_conv_locale.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_string from_std_wstring_locale (std::wstring_view, std::locale const &)
 Convert from std::wstring to fcppt::string using a custom locale.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string getenv (std::string_view)
 Gets an optional value from the environment.
 
template<typename Type >
std::size_t hash (Type const &_value)
 Calls std::hash.
 
std::size_t hash_combine (std::size_t const _hash_old, std::size_t const _hash_new)
 Combines two hashes.
 
FCPPT_DETAIL_SYMBOL std::locale insert_extract_locale ()
 Returns the default locale to use when converting from or to strings.
 
template<typename Type , typename Arg >
constexpr fcppt::make_literal< Type >::decorated_type literal (Arg const &&_integral) noexcept
 Creates a literal of a type.
 
template<typename Type >
fcppt::reference< Type const > make_cref (Type const &_ref) noexcept
 Convenience function to create const references.
 
template<typename Ret , typename... Args>
fcppt::function< Ret(Args...)> make_function (Ret(&_function)(Args...))
 Creates an fcppt::function.
 
template<typename Int >
fcppt::int_range< Int > make_int_range (Int const _begin, Int const _end)
 Creates a forward integer range.
 
template<typename Int >
fcppt::int_range< Int > make_int_range_count (Int const _count)
 Creates a forward integer range starting at zero.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_error_code make_optional_error_code (std::error_code const &error)
 Creates an optional error code.
 
template<typename Type >
fcppt::recursive< std::remove_cvref_t< Type > > make_recursive (Type &&_value)
 Creates an fcppt::recursive.
 
template<typename Type >
fcppt::reference< Type > make_ref (Type &_ref) noexcept
 Convenience function to create references.
 
template<typename Res , typename... Args>
fcppt::shared_ptr< Res > make_shared_ptr (Args &&..._args)
 Like std::make_shared but for fcppt::shared_ptr.
 
template<typename Tag , typename Type >
fcppt::strong_typedef< std::remove_cvref_t< Type >, Tag > make_strong_typedef (Type &&_value)
 Creates a new strong typedef given a tag and a value.
 
template<typename Res , typename... Args>
fcppt::unique_ptr< Res > make_unique_ptr (Args &&..._args)
 Like std::make_unique for fcppt::unique_ptr.
 
template<typename Type >
Type move_clear (Type &_value)
 Moves out of a value and clears it.
 
template<bool Cond, typename Arg >
decltype(auto) move_if (Arg &&_arg)
 Moves an object if a condition is true.
 
template<typename Type , typename Arg >
decltype(auto) move_if_rvalue (Arg &&_arg)
 Moves an object if a type is an rvalue.
 
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.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string narrow (std::wstring_view _string)
 Converts a std::wstring to std::string, using fcppt::string_conv_locale.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string narrow_locale (std::wstring_view _string, std::locale const &_locale)
 Converts a std::wstring to std::string, using a locale.
 
constexpr bool not_ (bool const _value)
 Boolean not.
 
template<typename Arg >
fcppt::detail::output< Arg > output (Arg const &_arg)
 Outputs an object.
 
template<typename Source >
fcppt::string output_to_fcppt_string (Source const &_source)
 Converts an arbitrary type to a fcppt::string, using fcppt::insert_extract_locale.
 
template<typename Source >
fcppt::string output_to_fcppt_string_locale (Source const &_source, std::locale const &_locale)
 Converts an arbitrary type to a fcppt::string, using a custom locale.
 
template<typename Source >
std::string output_to_std_string (Source const &_source)
 Convert an arbitrary type to a std::string, using fcppt::insert_extract_locale.
 
template<typename Source >
std::string output_to_std_string_locale (Source const &_source, std::locale const &_locale)
 Convert an arbitrary type to a std::string, using a custom locale.
 
template<typename Source >
std::wstring output_to_std_wstring (Source const &_source)
 Convert an arbitrary type to a std::wstring, using fcppt::insert_extract_locale.
 
template<typename Source >
std::wstring output_to_std_wstring_locale (Source const &_source, std::locale const &_locale)
 Convert an arbitrary type to a std::wstring, using a custom locale.
 
template<typename Dest , typename Source >
Dest output_to_string (Source const &_source)
 Convert an arbitrary type to a string, using fcppt::insert_extract_locale.
 
template<typename Dest , typename Source >
Dest output_to_string_locale (Source const &_source, std::locale const &_locale)
 Convert an arbitrary type to a string, using a custom locale.
 
template<typename... Args>
fcppt::overloaded< std::remove_cvref_t< Args >... > overload (Args &&..._args)
 Creates an overloaded lambda.
 
template<typename Type >
bool operator== (fcppt::recursive< Type > const &_left, fcppt::recursive< Type > const &_right)
 Compares two fcppt::recursive for equality.
 
template<typename Type >
bool operator!= (fcppt::recursive< Type > const &_left, fcppt::recursive< Type > const &_right)
 Compares two fcppt::recursive for inequality.
 
template<typename Ch , typename Traits , typename Type >
std::basic_ostream< Ch, Traits > & operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::recursive< Type > const &_value)
 
template<typename T >
bool operator== (fcppt::reference< T > const &_a, fcppt::reference< T > const &_b) noexcept
 Compares two references for equality.
 
template<typename T >
bool operator!= (fcppt::reference< T > const &_a, fcppt::reference< T > const &_b) noexcept
 Compares two references for inequality.
 
template<typename T >
bool operator< (fcppt::reference< T > const &_a, fcppt::reference< T > const &_b) noexcept
 Compares two references lexicographically.
 
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.
 
template<typename Base , typename Type >
fcppt::reference< Base > reference_to_base (fcppt::reference< Type > const _ref) noexcept
 Converts a reference to a base class.
 
template<typename Type >
fcppt::reference< Type const > reference_to_const (fcppt::reference< Type > const _ref) noexcept
 Converts a reference to a const reference.
 
template<typename MaxIndex , typename Index , typename Function , typename FailFunction >
decltype(auto) runtime_index (Index const _index, Function const &_function, FailFunction const &_fail_function)
 Transforms a runtime index into a an integral constant.
 
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.
 
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.
 
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.
 
template<typename Type , typename Deleter >
void swap (fcppt::shared_ptr< Type, Deleter > &left, fcppt::shared_ptr< Type, Deleter > &right) noexcept
 Swaps two shared pointers.
 
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.
 
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
 
FCPPT_DETAIL_SYMBOL std::locale string_conv_locale ()
 Returns the default locale to use when converting between strings.
 
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< std::remove_cvref_t< StrongTypedef1 > > >
 Applies a function to multiple strong typedefs.
 
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.
 
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.
 
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.
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator- (fcppt::strong_typedef< T, Tag > const &_value)
 Unary minus.
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator++ (fcppt::strong_typedef< T, Tag > &_value)
 Preincrement operator.
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > & operator-- (fcppt::strong_typedef< T, Tag > &_value)
 Predecrement operator.
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator++ (fcppt::strong_typedef< T, Tag > &_value, int)
 Postincrement operator.
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator-- (fcppt::strong_typedef< T, Tag > &_value, int)
 Postdecrement operator.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
template<typename T , typename Tag >
fcppt::strong_typedef< T, Tag > operator~ (fcppt::strong_typedef< T, Tag > const &_value)
 Bitwise negation.
 
template<typename T , typename Tag >
bool operator< (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator less.
 
template<typename T , typename Tag >
bool operator<= (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator less equal.
 
template<typename T , typename Tag >
bool operator> (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator greater.
 
template<typename T , typename Tag >
bool operator>= (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator greater equal.
 
template<typename T , typename Tag >
bool operator== (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator equal.
 
template<typename T , typename Tag >
bool operator!= (fcppt::strong_typedef< T, Tag > const &_left, fcppt::strong_typedef< T, Tag > const &_right)
 Operator not equal.
 
template<typename StrongTypedef , typename Conv , typename Arg >
requires fcppt::is_strong_typedef<StrongTypedef>::value
constexpr StrongTypedef strong_typedef_construct_cast (Arg const &_arg)
 Applies a cast from fcppt.cast and then construct the strong typedef.
 
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.
 
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< std::remove_cvref_t< StrongTypedef > > >
 Maps over a strong typedef.
 
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.
 
FCPPT_DETAIL_SYMBOL fcppt::optional::object< int > system (fcppt::string const &)
 Calls std::system.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string to_std_string (fcppt::string_view)
 Convert from fcppt::string to std::string using fcppt::string_conv_locale.
 
FCPPT_DETAIL_SYMBOL fcppt::optional_std_string to_std_string_locale (fcppt::string_view, std::locale const &)
 Convert from fcppt::string to std::string using a custom locale.
 
FCPPT_DETAIL_SYMBOL std::wstring to_std_wstring (fcppt::string_view)
 Convert from fcppt::string to std::wstring using fcppt::string_conv_locale.
 
FCPPT_DETAIL_SYMBOL std::wstring to_std_wstring_locale (fcppt::string_view, std::locale const &)
 Convert from fcppt::string to std::wstring using a custom locale.
 
FCPPT_DETAIL_SYMBOL std::string type_name (char const *)
 Returns a demangled type name if possible.
 
FCPPT_DETAIL_SYMBOL std::string type_name_from_index (std::type_index const &)
 Returns a demangled type name if possible.
 
FCPPT_DETAIL_SYMBOL std::string type_name_from_info (std::type_info const &)
 Returns a demangled type name if possible.
 
template<typename Cast , typename Derived , typename Base , typename Deleter >
fcppt::variant::object< 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.
 
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.
 
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.
 
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.
 
bool operator== (fcppt::unit const &, fcppt::unit const &)
 Compares units for equality.
 
bool operator!= (fcppt::unit const &, fcppt::unit const &)
 Compares units for inequality.
 
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.
 
FCPPT_DETAIL_SYMBOL std::string version_string ()
 fcppt's version as a string
 
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.
 
template<typename Type , typename Deleter >
void swap (fcppt::weak_ptr< Type, Deleter > &left, fcppt::weak_ptr< Type, Deleter > &right) noexcept
 Swaps two weak pointers.
 
FCPPT_DETAIL_SYMBOL std::wstring widen (std::string_view)
 Converts a std::string to std::wstring, using fcppt::string_conv_locale.
 
FCPPT_DETAIL_SYMBOL std::wstring widen_locale (std::string_view, std::locale const &)
 Converts a std::string to std::wstring, using a locale.
 

Detailed Description

The top level namespace.

Function Documentation

◆ operator<<()

template<typename Ch , typename Traits , typename Type >
std::basic_ostream< Ch, Traits > & fcppt::operator<< ( std::basic_ostream< Ch, Traits > & _stream,
fcppt::recursive< Type > const & _value )