Support Class Library
A set of tools providing classes and utility
All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Cscl::utils::details::__any_base
 Cscl::async::ActiveA class that allow task execution on a separate thread using RAII semantics
 Cscl::utils::AnyClass that can hold any value type (and change value type mid lifetime)
 Cscl::concepts::AssignableWith< T, U >AssignableWith concept, a type U is assignable to a type T if operator=() is defined for both types (or implicit conversions)
 Cscl::async::AsyncQueue< T, Lock, Guard, Container >
 Cstd::basic_string< Char >STL class
 Cscl::concepts::BinaryPredicate< F, T, U >BinaryPredicate concept, a type F is a binary predicate over T and U if it is an n-ary predicate over those types
 Cscl::concepts::Boolean< T >Boolean concept, a type is boolean if it defines all boolean operations
 Cscl::async::Channel< T, Lock, Guard, Container >A channel to use for asynchronous communication of data in a queued manner
 Cscl::async::Channel< message_type >
 Cscl::async::details::channel_actor_traits< Actor >Traits for actors that interact with the channel
 Cscl::async::details::channel_actor_traits< ChannelReceiver >
 Cscl::async::details::channel_actor_traits< ChannelSender >
 Cscl::async::details::channel_transport_traits< Chan >Traits for the implementation of the transport of information in a scl::async::Channel
 Cscl::async::details::ChannelReceiver< Chan >
 Cscl::async::details::ChannelReceiver< Channel >
 Cscl::async::details::ChannelSender< Chan >Class used to send data to a Channel
 Cscl::async::details::ChannelSender< Channel >
 Cscl::concepts::CharTraits< T, CharT >CharTraits concept
 Cscl::concepts::Constructible< T, Args >Constructible concept, a type is constructible with the given arguments if it is destructible and meta::is_constructible<T, Args...>() is true
 Cscl::concepts::ConvertibleTo< From, To >Conversion concept, a type From is convertible to another type To if meta::is_convertible<From, To>() is true
 Cscl::concepts::Copyable< T >Copyable concept, a type is copyable if it is both copy constructible and copy assignable
 Cscl::concepts::CopyAssignable< T >CopyAssignable concept, a type T is copy assignable if meta::is_copy_assignable<T>() is true
 Cscl::concepts::CopyConstructible< T >CopyConstructible concept, a type T is copy constructible if meta::is_copy_constructible<T>() is true
 Cscl::concepts::DefaultConstructible< T >DefaultConstructible concept, a type T is default constructible if it defines a default constructor
 Cscl::concepts::DerivedFrom< Derived, Base >DerivedFrom concept, a type Derived is derived from another type Base if Derived is a derives from Base
 Cscl::concepts::Destructible< T >Destructible concept, a type T is destructible if it defines a destructor that won't throw
 Cscl::utils::Either< Lhs, Rhs >Alternative type that stores one or the other
 Cscl::utils::Either< value_type, error_type >
 Cscl::concepts::EqualityComparable< T >EqualityComparable concept, a type T is equality comparable if it defines an operator== with itself
 Cscl::concepts::EqualityComparableWith< T, U >EqualityComparableWith concept, a type T is equality comparable with another type U if it defines an operator== with U
 Cstd::exceptionSTL class
 Cfalse_type
 Cscl::stream::operators::details::filter_toolbox< T >Tag type for filter operations
 Cscl::tools::meta::fn< class, class >
 Cscl::tools::meta::fn< decltype(&F::operator()), std::nullptr_t >
 Cscl::tools::meta::fn< R(*)(Args...), void >
 Cscl::tools::meta::fn< R(Class::*const)(Args...), std::nullptr_t >
 Cscl::tools::meta::fn< R(Class::*const)(Args...), void >
 Cscl::stream::terminators::details::for_each_toolbox< T >ForEach toolbox tag
 Cscl::tools::meta::function_traits< class >Traits for callable types
 Cscl::tools::meta::function_traits< std::function< R(Args...)> >Specialization for std::function
 Cscl::concepts::FunctionObject< F, Args >FunctionObject concept, a type F is a function object that accepts Args..
 Cscl::concepts::Hash< T, Key >Hash concept, a type T is an hash for Key if it is a function object, copy constructible, destructible, and the return type of its invocation w/ a Key is std::size_t
 Cscl::concepts::InequalityComparable< T >InequalityComparable concept, a type T is equality comparable if it defines an operator!= with itself
 Cscl::concepts::InequalityComparableWith< T, U >InequalityComparableWith concept, a type T is equality comparable with another type U if it defines an operator!= with U
 Cscl::concepts::Integral< T >Intergal concept, a type T is integral if meta:is_integral<T>() is true
 Cscl::stream::details::InvalidValue
 Cscl::concepts::Invocable< F, Args >Invocable concept, a type F is invocable with Args if meta::is_invocable<F, Args...>() is true
 Cistream_iterator
 Cscl::concepts::Iterator< T >Iterator concept, a type is an iterator if it is copyable, destructible, swappable, has well-defined iterator_traits and can be incremented and dereferenced
 Cscl::concepts::LessThanComparable< T >LessThanComparable concept, a type T is less than comparable if it defines an operator< with itself
 Cscl::concepts::LessThanComparableWith< T, U >LessThanComparableWith concept, a type T is equality comparable with another type U if it defines an operator< with U
 Cscl::utils::Either< Lhs, Rhs >::lhs_tagTag used to construct the LHS member (in case both are convertible types)
 Cscl::stream::operators::details::map_toolbox< T, U >Tag type that allows operation piping for map operations
 Cscl::concepts::Movable< T >Movable concept, a type is movable if it is both move constructible and move assignable
 Cscl::concepts::MoveAssignable< T >MoveAssignable concept, a type T is move assignable if meta::is_move_assignable<T>() is true
 Cscl::concepts::MoveConstructible< T >MoveConstructible concept, a type T is move constructible if meta::is_move_constructible<T>() is true
 Cscl::async::Mutexed< T, Lock, Guard >A wrapper class that protects a value with a lock
 Cscl::async::Mutexed< queue_type, Lock, Guard >
 Cscl::concepts::NonCopyable< T >NonCopyable concept, a type is non copyable if it is neither copy constructible nor copy assignable
 Cscl::utils::NoneAn empty class serving as the type of an empty Optional<T>
 Cscl::concepts::NonMovable< T >NonMovable concept, a type is non movable if it is neither move constructible nor move assignable
 Cscl::tools::meta::details::NoOp< T >Type construct that exposes a single type that is its type argument
 Cscl::concepts::NullablePointer< T >NullablePointer concept, a type is said to be a nullable pointer type if its interactions w/ nullptr are defined and can be compared using operator!=
 Cscl::utils::Optional< T >A class that allows the use of optional types (might be there)
 Cscl::utils::Optional< Lhs >
 Cscl::utils::Optional< Rhs >
 Cscl::utils::Optional< value_type >
 Cscl::utils::Either< Lhs, Rhs >::payload_tPayload type that encapsulates both alternatives
 Cscl::utils::PlaceholderClass representing parameter/return argument placholders
 Cscl::concepts::Predicate< F, Args >Predicate concept, a type F is a predicate with Args if it is RegularInvocable and its result is Boolean
 Cscl::utils::RawStorage< T >Class that handles raw storage (and manual memory management) for a variable type
 Cscl::utils::RawStorage< Lhs >
 Cscl::utils::RawStorage< Rhs >
 Cscl::utils::RawStorage< value_type >
 Cscl::tools::meta::real_const< T, class >Get the appropriate const version of a type
 Cscl::tools::meta::real_const< T *, void >Specialization for pointers
 Cscl::concepts::Regular< T >Regular concept, a type is Regular if it is SemiRegular and EqualityCOmparable
 Cscl::concepts::RegularInvocable< F, Args >RegularInvocable concept, a type F is regular invocable with Args if it is Invocable and is equality preserving and does not modify its arguments
 Cscl::concepts::Relation< R, T, U >Relation concept, a type R is a relation between T and U if it defines the 4 combinations
 Cscl::utils::Result< Value, Error >
 Cscl::utils::details::result_error
 Cscl::utils::details::result_value//
 Cscl::utils::Either< Lhs, Rhs >::rhs_tagTag used to construct the RHS member (in case both are convertible types)
 Cscl::concepts::Same< Lhs, Rhs >Same concept, two types Lhs and Rhs are considered the same if meta::is_same<Lhs, Rhs>() is true
 Cscl::concepts::SemiRegular< T >SemiRegular concept, a type is semi regular if it is Copyable and DefaultConstructible
 Cscl::concepts::Signed< T >Signed concept, a type T is signed if meta::is_signed<T>() is true
 Cscl::concepts::SignedIntegral< T >SignedIntegral concept, a type is a signed integral if it is both Integral and Signed
 Cscl::http::StatusCode
 Cscl::stream::details::iterator::StlAdapter< T >An adapter for STL-like iterators from stream iterators
 Cscl::stream::Stream< T >Class representing a stream of data
 Cscl::stream::details::iterator::StreamIterator< T >Abstract base class for stream iterators defining the required behavior
 Cscl::stream::details::iterator::StreamIterator< iterator_value_type< It > >
 Cscl::stream::details::iterator::StreamIterator< U >
 Cscl::stream::details::StreamIteratorPayload< T >A class representing a stream iterator's payload
 Cscl::concepts::Swappable< T >Swappable concept, a type is swappable if it defines swapping mecanisms
 Cscl::stream::terminators::pack::details::to_set_toolboxTag type to pack into a std::set w/ default template parameters
 Cscl::stream::terminators::pack::details::to_set_toolbox_alloc< Compare, Allocator >Tag type to pack into a std::set w/ control over template parameters
 Cscl::stream::terminators::pack::details::to_vector_toolboxTag type to pack into a vector w/ default template parameters
 Cscl::stream::terminators::pack::details::to_vector_toolbox_alloc< Allocator >Tag type to pack into a vector w/ control over the allocator
 Cscl::utils::ToString< T, class >
 Cscl::utils::ToString< None >A specialization of ToString for None type
 Cscl::utils::ToString< Optional< T >, scl::tools::meta ::enable_if_t< scl::tools::meta ::defines_scl_to_string< T >() > >
 Cscl::utils::ToString< scl::http::StatusCode >
 Cscl::utils::ToString< scl::http::Version, void >
 Cscl::utils::ToString< T, scl::tools::meta ::enable_if_t< scl::tools::meta ::defines_std_to_string< T >() > >Specialization for types that define std::to_string
 Cscl::utils::ToString< T, scl::tools::meta ::enable_if_t< scl::tools::meta ::is_base_of< scl::exceptions::Throwable, T >() > >Specialization of ToString for Throwable types
 Cscl::utils::ToString< T, scl::tools::meta ::enable_if_t< scl::tools::meta ::is_same< T, char >()||scl::tools::meta ::is_same< T, const char * >()||scl::tools::meta ::is_same< T, std::string >() > >Specialization for types convertible to string
 Ctrue_type
 Ctuple_size
 Cscl::stream::operators::details::unique_toolboxToolbox tag for unique operations
 Cscl::stream::operators::details::uniqueBy_toolbox< T, U >Toolbox tag type for unique by operations
 Cscl::concepts::Unsigned< T >Unsigned concept, a type T is unsigned if meta::is_unsigned<T>() is true
 Cscl::concepts::UnsignedIntegral< T >UnsignedIntegral concept, a type is an unsigned integral if it is both Integral and Unsigned
 Cscl::concepts::ValueSwappable< T >ValueSwappable concept, a type is value swappable if it is an iterator type and its value type is swappable
 Cscl::http::VersionA pseudo enum class that describes the version of the HTTP Protocol
 Cscl::async::with_traits< Resource >Traits for use with the scl::async::with function
 Cscl::async::with_traits< Mutexed< T > >
 Cscl::async::with_traits< std::mutex >