STLSoft - ... Robust, Lightweight, Cross-platform, Template Software ... ATLSTL - Template Software for the Active Template Library COMSTL - The Standard Template Library meets the Component Object Model .netSTL - Standard Template Library meets the Microsoft.NET Common Language Runtime InetSTL - The Standard Template Library meets WinInet MFCSTL - Template Software for the Microsoft Foundation Classes UNIXSTL - Template Software for the UNIX Operating System WinSTL - where the Standard Template Library meets the Win32 API

Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

stlsoft Namespace Reference

The STLSoft namespace - stlsoft - is the namespace for the STLSoft main project, and the root namespace for all the other STLSoft projects, whose individual namespaces reside within it. More...


Compounds

class  api_constructor
 Used to initialise APIs. More...

struct  base_type_traits
 Deduces the base type. More...

struct  basic_indirect_range_tag
 Denotes a deriving class as being an Indirect Range. More...

class  basic_simple_string
 Simple string class. More...

class  basic_static_string
 Simple string class using fixed-size static-based storage. More...

class  class_constructor
 Used to initialise classes. More...

class  cstring_range
 This class represents a C-style string as a range. More...

class  filtered_range
 This class adapts an STL sequence instance into a Range. More...

class  indirect_range_adaptor
 Runtime adaptor that adapts a Basic Indirect range to an Indirect range. More...

struct  indirect_range_tag
 Denotes a deriving class as being a Basic Indirect Range. More...

class  integral_range
 This range class represents an integral range. More...

struct  invalid_integral_range_policy
 Error policy class for integral_range. More...

struct  iterable_range_tag
 Denotes a deriving class as being an Iterable Range. More...

class  iterator_range
 This class adapts an iterator pair into a Range. More...

struct  iterator_range_traits
 Traits class for determining the attributes of range-adapted iterator types. More...

struct  make_value_type
 Defines a type with a value_type member type. More...

struct  notional_range_tag
 Denotes a deriving class as being a Notional Range. More...

class  r_back_insert_range
 Adapts a range for back-insertion. More...

class  random_range
 This range class represents a range of random numbers. More...

class  sequence_range
 This class adapts an STL sequence instance into a Range. More...

struct  sequence_range_traits
 Traits class for determining the attributes of range-adapted sequence container types. More...

class  const_iterator
 Iterator for string_tokeniser, supporting the Forward Iterator concept. More...

struct  int_size_traits
 traits type for determining the signed and unsigned forms of a given integral type More...

class  const_iterator
 The const_iterator type for the searchspec_sequence. More...

struct  has_const_iterator
 traits type used to determine whether a given type has a member const_iterator More...

struct  has_distance_type
 traits type used to determine whether a given type has a member distance_type More...

struct  has_iterator
 traits type used to determine whether a given type has a member iterator More...

struct  has_iterator_category
 traits type used to determine whether a given type has a member iterator_category More...

struct  has_pointer
 traits type used to determine whether a given type has a member pointer More...

struct  has_pointer_type
 traits type used to determine whether a given type has a member pointer_type More...

struct  has_reference
 traits type used to determine whether a given type has a member reference More...

struct  has_reference_type
 traits type used to determine whether a given type has a member reference_type More...

struct  has_value_type
 traits type used to determine whether a given type has a member value_type More...

union  any_caster
 This class helps overcome problems when external libraries have errors in their function parameter declarations, resulting in compilation-time type errors with some versions of the libraries, and not with others. More...

struct  any_caster_invalid_type
 a More...

class  array_proxy
 Acts as a proxy for built-in arrays, ensuring functions passed array proxies have safe access to both array pointer and length. More...

class  associative_container_veneer
 Applies per-item functions to an associative container's items at its destruction. More...

class  auto_array_destructor
 This class acts as an automatic frame scope variable that manages heap-allocated object arrays. More...

class  auto_buffer
 This class provides an efficient variable automatic buffer. More...

class  auto_destructor
 This class acts as an automatic frame scope variable that manages heap-allocated object instances. More...

class  basic_environment_block
 Class used for preparing environment blocks. More...

struct  delete_array
 This functional deletes an array of objects, via vector delete. More...

struct  delete_instance
 This functional deletes an object instance, via scalar delete. More...

union  DataRef
 Represents a union of the possible concatenation types. More...

struct  CString
 Represents a C-style string. More...

struct  c_conversion
 Implements conversion via C-style casts. More...

struct  char_alt_traits
 Traits for determining the alternate character type. More...

struct  char_traits
 Character traits, all of the operations of which can work with null pointers. More...

struct  char_traits_safe
 Character traits, all of the operations of which can work with null pointers. More...

struct  compiler_traits
 traits class for (current) compiler More...

struct  container_base
 Base template for STL allocators. More...

class  conversion_veneer
 This class allows policy-based control of the four conversions: pointer, non-mutable pointer, reference, non-mutable reference. More...

struct  cstring_maker
 Utility class that creates/destroys fixed-size C-strings for other classes. More...

struct  do_construction
 Traits class that controls whether elements in STLSoft arrays are in-place constructed and destroyed. More...

struct  do_construction_always
 Stipulates that array elements are always constructed. More...

struct  do_construction_never
 Stipulates that array elements are never constructed. More...

struct  dynamic_conversion
 Implements conversion via C++'s dynamic_cast. More...

class  explicit_cast
 This class is used to provide explicit casting operators. More...

class  explicit_cast< T & >
 Being able to cast to non-const references does not work, since the compilers will refuse to apply such to a temporary. More...

class  explicit_cast< T * >
 Not sure I really like this one, and reserve the right to remove it but for now it stays. More...

struct  explicit_inheritance_veneer
 Applies a protected veneer over a type, which can be accessed only through conversions to the veneered type. More...

class  fast_string_concatenator
 Class which provides fast string concatenation. More...

class  first_class_promoter
 Promotes a basic type to a first-class type. More...

class  fixed_array_1d
 1 dimensional fixed array More...

class  fixed_array_2d
 2 dimensional fixed array More...

class  fixed_array_3d
 3 dimensional fixed array More...

class  fixed_array_4d
 4 dimensional fixed array More...

class  fsc_seed
 This is used as a seed when namespace issues make the selection of the fast_string_concatenator overloads of operator+() ambiguous. More...

class  inert
 This class is almost completely unusable, and is used as a placeholder or as a name remover. More...

class  inheritance_disambiguator
 This class is used to disambiguate base classes, thereby faciliating multiple inheritance from the same type. More...

struct  invalid_conversion
 Prevents any conversion. More...

struct  is_array_type
 traits type used to determine whether the given type is an array More...

struct  is_bool_type
 traits type used to determine whether the given type is bool More...

struct  is_char_type
 traits type used to determine whether the given type is of char type More...

struct  is_class_type
 traits type used to determine whether a given type is of class type More...

struct  is_compound_type
 traits type used to determine whether a given type is a compound type More...

struct  is_const
 traits type used to determine whether a given type is const More...

struct  is_convertible_to_bool
 This test determines whether the given type is convertible to a pointer type. More...

struct  is_convertible_to_pointer
 This test determines whether the given type is convertible to a pointer type. More...

struct  is_floating_point_type
 traits type used to determine whether the given type is floating point More...

struct  is_fundamental_type
 traits type used to determine whether a given type is a fundamental type More...

struct  is_integral_type
 traits type used to determine whether a given type is integral More...

struct  is_numeric_type
 traits type used to determine whether the given type is a numeric type More...

struct  is_pointer_type
 traits type used to determine whether the given type is a pointer More...

struct  is_same_type
 Determines whether the type is the same type. More...

struct  is_void
 traits type used to determine whether a given type is void More...

struct  is_void_type
 traits type used to determine whether a given type is void More...

struct  is_volatile
 traits type used to determine whether a given type has volatile qualifier More...

struct  limit_traits
 Traits for determining the minimum and maximum values of types. More...

struct  lock_invert_traits
 Traits class for inverting the lock status of lockable objects. More...

class  lock_scope
 This class scopes the lock status of a lockable type. More...

struct  lock_traits
 Traits class for lockable objects. More...

struct  lock_traits_inverter
 Traits inverter class for inverting the lock behaviour of lockable traits types. More...

class  malloc_allocator
 STL Allocator based on the C runtime malloc() & free() functions. More...

struct  member_get_pointer
 Provides static storage and access to a get member function of a given type. More...

struct  member_set_pointer
 Provides static storage and access to a set member function of a given type. More...

class  method_property_get
 This class provides method-based read-only property access. More...

class  method_property_get_external
 This class provides indirect method-based read-only property access. More...

class  method_property_getset
 This class provides method-based read/write property access. More...

class  method_property_getset_external
 This class provides indirect method-based read/write property access. More...

class  method_property_set
 This class provides method-based write-only property access. More...

class  method_property_set_external
 This class provides indirect method-based write-only property access. More...

union  must_be_pod
 Constraint to ensure that a type is a built-in or trivial type. More...

union  must_be_pod_or_void
 Constraint to ensure that a type is a built-in or trivial type, or is void. More...

struct  must_be_same_size
struct  must_be_subscriptable
 Constraint to enforce that a given type is an array, or pointer, or user defined type which is amenable to subsripting (i.e. More...

struct  must_have_base
 Constraint to ensure that the one type is convertible to another via inheritance. More...

struct  must_subscript_as_decayable_pointer
 Constraint to enforce that a given type is an actual array or pointer, rather than a user-defined type with. More...

struct  pointer_conversion
 Pointer conversion type. More...

struct  pointer_const_conversion
 Pointer-to-const conversion type. More...

struct  reference_conversion
 Reference conversion type. More...

struct  reference_const_conversion
 Reference-to-const conversion type. More...

struct  pointer_conversion
 Pointer conversion type. More...

struct  pointer_const_conversion
 Pointer-to-const conversion type. More...

struct  reference_conversion
 Reference conversion type. More...

struct  reference_const_conversion
 Reference-to-const conversion type. More...

struct  pointer_conversion
 Pointer conversion type. More...

struct  pointer_const_conversion
 Pointer-to-const conversion type. More...

struct  reference_conversion
 Reference conversion type. More...

struct  reference_const_conversion
 Reference-to-const conversion type. More...

class  new_allocator
 STL Allocator based on operators new and delete. More...

struct  noop_function
 This functional performs no operation at all, and is simply a place-holder. More...

class  null_allocator
 STL Allocator which fails all allocation requests. More...

struct  null_exception_policy
 The NULL exception type. It does not throw, and its throw type is empty. More...

class  null_mutex
 This class provides a null implementation of the mutex model. More...

struct  NULL_v
 Represents a type that can be an active replacement for NULL. More...

struct  operator_bool_generator
 Template which provides the types and conversion operations for safe and highly-portable "operator bool() const". More...

class  os_exception
 Root exception class for sub-project platform-specific exceptions. More...

struct  pair
 Represents a pair. More...

class  placement_aid
 Scopes the lifetime of an in-place object. More...

class  pod_vector
 Efficient vector class for use with POD types only. More...

class  pod_veneer
 Bolts construction and/or destruction to Plain Old Data types. More...

struct  printf_traits
 Traits for determining the size, in printf-ed form, of the minimum and maximum values of types. More...

class  proxy_iterator
 Iterator for proxy_sequence. More...

class  proxy_ptr
 This class emulates a pointer in all respects, and is simply an aid to self-documentation. More...

class  proxy_sequence
 Enables a non-STL sequence to provide an STL interface. More...

struct  ptr_cast
 A cast that throws bad_cast for pointer cast failures, as well as for reference casts. More...

struct  reference_const_conversion
 Reference-to-const conversion type. More...

struct  reference_conversion
 Reference conversion type. More...

struct  pointer_const_conversion
 Pointer-to-const conversion type. More...

struct  pointer_conversion
 Pointer conversion type. More...

struct  reinterpret_conversion
 Implements conversion via C++'s reinterpret_cast. More...

class  remove_from_scope
 This class is almost completely unusable, and is used as a placeholder or as a name remover. More...

class  searchspec_sequence
 Provides multi-pattern functionality over a file-system search sequence class. More...

struct  select_1st
 Selects the first member of an instance and applies the parameterising functional to it. More...

struct  select_2nd
 Selects the second member of an instance and applies the parameterising functional to it. More...

struct  select_both
 This functional selects both the first and second members of an instance (obviously this is usually the std::pair type), and applies the respective parameterising functionals to them. More...

class  sequence_container_veneer
 Applies a per-item function to a sequence container's items at its destruction. More...

struct  sign_traits
 Traits for determining the signed, unsigned and alternate-signed type. More...

class  simple_type_conversion
 This class (union) effects conversion from one type to another, without the use of casts. More...

struct  size_of
 Provides the sizeof the type, and works with void (for which it provides the value 0). More...

class  static_array_1d
 1 dimensional static array More...

class  static_array_2d
 2 dimensional static array More...

class  static_array_3d
 3 dimensional static array More...

class  static_array_4d
 4 dimensional static array More...

struct  reference_const_conversion
 Reference-to-const conversion type. More...

struct  reference_conversion
 Reference conversion type. More...

struct  pointer_const_conversion
 Pointer-to-const conversion type. More...

struct  pointer_conversion
 Pointer conversion type. More...

class  return_value_array_destructor
 This class acts as a return-value scope variable that manages heap-allocated object arrays. More...

class  return_value_destructor
 This class acts as a return-value scope variable that manages heap-allocated object instances. More...

class  sinteger64
 Signed 64-bit integer class. More...

struct  static_conversion
 Implements conversion via C++'s static_cast. More...

class  static_initialiser
 static_initialiser More...

class  static_method_property_get
 Implements static read-only Method Property. More...

class  static_method_property_get_external
 Implements External static read-only Method Property. More...

class  static_method_property_getset
 Implements static read-write Method Property. More...

class  static_method_property_getset_external
 Implements External static read-write Method Property. More...

class  static_method_property_set
 Implements static write-only Method Property. More...

class  static_method_property_set_external
 Implements External static write-only Method Property. More...

struct  stlsoft_char_traits
 Character traits. More...

struct  stlsoft_char_traits_safe
 Character traits, all of the operations of which can work with null pointers. More...

struct  thrown_type
 The thrown type. More...

class  string_tokeniser
 String tokeniser. More...

struct  string_tokeniser_comparator
 String tokeniser comparator. More...

struct  string_tokeniser_ignore_blanks
 Ignore blanks type. More...

struct  string_tokeniser_type_traits
 Traits class for the string tokeniser string type. More...

struct  string_traits
 Traits for determining the characteristics of strings. More...

class  true_typedef
 This class is used to create strong types from base types, to facilitate type disambiguation, overloading and mutual incompatibility. More...

union  union_cast
 This class (union) effects conversion from one type to another, without the use of casts. More...

class  unused_return_value_monitor
 Return value adaptor for monitoring whether return values are used. More...

struct  ZERO_v
 Represents a type that can be an active replacement for ZERO. More...


Typedefs

typedef char ss_char_a_t
 Ansi char type.

typedef ss_char_w_pr_t_ ss_char_w_t
 Unicode char type.

typedef ss_int8_pr_t_ ss_int8_t
 8-bit integer

typedef ss_sint8_pr_t_ ss_sint8_t
 8-bit signed integer

typedef ss_uint8_pr_t_ ss_uint8_t
 8-bit unsigned integer

typedef ss_int16_pr_t_ ss_int16_t
 16-bit integer

typedef ss_sint16_pr_t_ ss_sint16_t
 16-bit signed integer

typedef ss_uint16_pr_t_ ss_uint16_t
 16-bit unsigned integer

typedef ss_int32_pr_t_ ss_int32_t
 32-bit integer

typedef ss_sint32_pr_t_ ss_sint32_t
 32-bit signed integer

typedef ss_uint32_pr_t_ ss_uint32_t
 32-bit unsigned integer

typedef short ss_short_t
 short integer

typedef int ss_int_t
 integer

typedef signed int ss_sint_t
 signed integer

typedef unsigned int ss_uint_t
 unsigned integer

typedef long ss_long_t
 long integer

typedef ss_uint8_t ss_byte_t
 Byte.

typedef ss_bool_pr_t_ ss_bool_t
 bool

typedef ss_size_pr_t_ ss_size_t
 size

typedef ss_ptrdiff_pr_t_ ss_ptrdiff_t
 ptr diff

typedef long ss_streampos_t
 streampos

typedef long ss_streamoff_t
 streamoff

typedef ss_char_a_t char_a_t
 Ansi char type.

typedef ss_char_w_t char_w_t
 Unicode char type.

typedef ss_int8_t int8_t
 8-bit integer

typedef ss_sint8_t sint8_t
 8-bit signed integer

typedef ss_uint8_t uint8_t
 8-bit unsigned integer

typedef ss_int16_t int16_t
 16-bit integer

typedef ss_sint16_t sint16_t
 16-bit signed integer

typedef ss_uint16_t uint16_t
 16-bit unsigned integer

typedef ss_int32_t int32_t
 32-bit integer

typedef ss_sint32_t sint32_t
 32-bit signed integer

typedef ss_uint32_t uint32_t
 32-bit unsigned integer

typedef ss_short_t short_t
 short integer

typedef ss_int_t int_t
 integer

typedef ss_sint_t sint_t
 signed integer

typedef ss_uint_t uint_t
 unsigned integer

typedef ss_long_t long_t
 long integer

typedef ss_byte_t byte_t
 Byte.

typedef ss_bool_t bool_t
 bool

typedef ss_size_t size_t
 size

typedef ss_ptrdiff_t ptrdiff_t
 ptr diff

typedef ss_streampos_t streampos_t
 streampos

typedef ss_streamoff_t streamoff_t
 streamoff

typedef basic_environment_block<
ss_char_a_t
environment_block_a
 Instantiation of the basic_path template for the ANSI character type char.

typedef basic_environment_block<
ss_char_w_t
environment_block_w
 Instantiation of the basic_environment_block template for the Unicode character type wchar_t.


Functions

template<typename T> void const * ptr_byte_offset (T const p, ss_ptrdiff_t n)
 Offsets a pointer by a number of bytes.

template<typename T> T const * ptr_offset (T const *p, ss_ptrdiff_t n)
 Offsets a pointer by a number of elements.

template<typename T1, typename T2> ss_ptrdiff_t ptr_byte_diff (T1 const *p1, T2 const *p2)
 Get the difference in bytes between two pointers.

template<typename T1, typename T2> ss_ptrdiff_t ptr_diff (T1 const *p1, T2 const *p2)
 Get the difference in elements between two pointers.

template<typename T> T & remove_const (T const &t)
 Remove const.

template<typename C> C const * get_digit_character ()
 Provides an indexable sequence of digit characters.

template<typename C, typename I> C const * unsigned_integer_to_string (C *buf, ss_size_t cchBuf, I i)
 Highly efficient conversion of unsigned integers to string.

template<typename C, typename I> C const * unsigned_integer_to_string (C *buf, ss_size_t cchBuf, I i, ss_size_t &cchRes)
 Highly efficient conversion of unsigned integers to string.

template<typename C, typename I> C const * signed_integer_to_string (C *buf, ss_size_t cchBuf, I i)
 Highly efficient conversion of signed integers to string.

template<typename C, typename I> C const * signed_integer_to_string (C *buf, ss_size_t cchBuf, I i, ss_size_t &cchRes)
 Highly efficient conversion of signed integers to string.

template<typename U> one_t is_pointer_type_func (U const volatile *)
 Constraint to ensure that a type is a pointer type.

template<typename U> one_t is_array_type_func (U const volatile *)
 Constraint to ensure that a type is a pointer type.

template<typename C> one_t is_class_type_func (int C::*)
 Compatibility.

template<typename T> ss_bool_t operator== (NULL_v const &lhs, T const &rhs)
 operator== for NULL_v and an arbitrary type

template<typename T> ss_bool_t operator== (T const &lhs, NULL_v const &rhs)
 operator== for an arbitrary type and NULL_v

template<typename T> ss_bool_t operator!= (NULL_v const &lhs, T const &rhs)
 operator!= for NULL_v and an arbitrary type

template<typename T> ss_bool_t operator!= (T const &lhs, NULL_v const &rhs)
 operator!= for an arbitrary type and NULL_v

void lock_instance (null_mutex &mx)
 This control shim aquires a lock on the given mutex.

void unlock_instance (null_mutex &mx)
 This control ref concepts_shims "shim" releases a lock on the given mutex.

template<typename C, typename T, typename A> C const * c_str_ptr_null (basic_simple_string< C, T, A > const &s)
 Returns the corresponding C-string pointer of s, or a null pointer.

template<typename C, typename T, typename A> C const * c_str_ptr (basic_simple_string< C, T, A > const &s)
 Returns the corresponding C-string pointer of s.

template<typename T, typename A> ss_char_a_t const * c_str_ptr_a (basic_simple_string< ss_char_a_t, T, A > const &s)
 Returns the corresponding C-string pointer of s.

template<typename T, typename A> ss_char_w_t const * c_str_ptr_w (basic_simple_string< ss_char_w_t, T, A > const &s)
 Returns the corresponding C-string pointer of s.

template<typename C, typename T, typename A> ss_size_t c_str_len (basic_simple_string< C, T, A > const &s)
 Returns the length (in characters) of s, not including the null-terminating character.

template<typename C, typename T, typename A> ss_size_t c_str_size (basic_simple_string< C, T, A > const &s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

template<typename C, ss_size_t CCH, typename T> C const * c_str_ptr_null (basic_static_string< C, CCH, T > const &s)
 Returns the corresponding C-string pointer of s, or a null pointer.

template<typename C, ss_size_t CCH, typename T> C const * c_str_ptr (basic_static_string< C, CCH, T > const &s)
 Returns the corresponding C-string pointer of s.

template<typename C, ss_size_t CCH, typename T> ss_size_t c_str_len (basic_static_string< C, CCH, T > const &s)
 Returns the length (in characters) of s, not including the null-terminating character.

template<typename C, ss_size_t CCH, typename T> ss_size_t c_str_size (basic_static_string< C, CCH, T > const &s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_char_a_t const * c_str_ptr_null_a (ss_char_a_t const *s)
 Returns the corresponding C-string pointer of s, or a null pointer.

ss_char_a_t const * c_str_ptr_null (ss_char_a_t const *s)
 Returns the corresponding C-string pointer of s, or a null pointer.

ss_char_w_t const * c_str_ptr_null_w (ss_char_w_t const *s)
 Returns the corresponding C-string pointer of s, or a null pointer.

ss_char_w_t const * c_str_ptr_null (ss_char_w_t const *s)
 Returns the corresponding C-string pointer of s, or a null pointer.

ss_char_a_t const * c_str_ptr_null_a (::std::string const &s)
 Returns the corresponding C-string pointer of s, or a null pointer.

ss_char_w_t const * c_str_ptr_null_w (_stlsoft_wstring_t const &s)
 Returns the corresponding C-string pointer of s, or a null pointer.

template<class C> C const * c_str_ptr_null (::std::basic_string< C > const &s)
 Returns the corresponding C-string pointer of s, or a null pointer.

ss_char_a_t const * c_str_ptr_a (ss_char_a_t const *s)
 Returns the corresponding C-string pointer of s.

ss_char_a_t const * c_str_ptr (ss_char_a_t const *s)
 Returns the corresponding C-string pointer of s.

ss_char_w_t const * c_str_ptr_w (ss_char_w_t const *s)
 Returns the corresponding C-string pointer of s.

ss_char_w_t const * c_str_ptr (ss_char_w_t const *s)
 Returns the corresponding C-string pointer of s.

ss_char_a_t const * c_str_ptr_a (::std::string const &s)
 Returns the corresponding C-string pointer of s.

ss_char_w_t const * c_str_ptr_w (_stlsoft_wstring_t const &s)
 Returns the corresponding C-string pointer of s.

template<class C> C const * c_str_ptr (::std::basic_string< C > const &s)
 Returns the corresponding C-string pointer of s.

ss_size_t c_str_len_a (ss_char_a_t const *s)
 Returns the length (in characters) of s, not including the null-terminating character.

ss_size_t c_str_len (ss_char_a_t const *s)
 Returns the length (in characters) of s, not including the null-terminating character.

ss_size_t c_str_len_w (ss_char_w_t const *s)
 Returns the length (in characters) of s, not including the null-terminating character.

ss_size_t c_str_len (ss_char_w_t const *s)
 Returns the length (in characters) of s, not including the null-terminating character.

ss_size_t c_str_len_a (::std::string const &s)
 Returns the length (in characters) of s, not including the null-terminating character.

ss_size_t c_str_len_w (_stlsoft_wstring_t const &s)
 Returns the length (in characters) of s, not including the null-terminating character.

template<class C> ss_size_t c_str_len (::std::basic_string< C > const &s)
 Returns the length (in characters) of s, not including the null-terminating character.

ss_size_t c_str_size_a (ss_char_a_t const *s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_size_t c_str_size (ss_char_a_t const *s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_size_t c_str_size_w (ss_char_w_t const *s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_size_t c_str_size (ss_char_w_t const *s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_size_t c_str_size_a (::std::string const &s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_size_t c_str_size_w (_stlsoft_wstring_t const &s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

template<class C> ss_size_t c_str_size (::std::basic_string< C > const &s)
 Returns the size (in bytes) of the contents of s, not including the null-terminating character.

ss_bool_t operator== (ZERO_v const &, ss_sint8_t i)
 operator== for ZERO_v and integral types

ss_bool_t operator== (ss_sint8_t i, ZERO_v const &)
 operator== for an integral type and ZERO_v

ss_bool_t operator!= (ZERO_v const &, ss_sint8_t i)
 operator!= for ZERO_v and an integral type

ss_bool_t operator!= (ss_sint8_t i, ZERO_v const &)
 operator!= for an integral type and ZERO_v

template<class R> r_back_insert_range< R > r_back_inserter (R &r)
 Returns an instance of r_back_insert_range<R>.

template<typename R, typename T> T r_accumulate (R r, T val)
 accumulate() for ranges

template<typename R, typename T, typename P> T r_accumulate (R r, T val, P pr)
 accumulate() for ranges

template<typename R, typename O> O r_copy (R r, O o)
 Copies the contents of the range to the output iterator.

template<typename R, typename T> ss_size_t r_count (R r, const T &val)
 Counts the number of instances of a given value in the range.

template<typename R, typename P> ss_size_t r_count_if (R r, P pr)
 Counts the number of instances matching the given predicate in the range.

template<typename R> ss_ptrdiff_t r_distance (R r)
 Counts the number of instances in the range.

template<typename R1, typename R2> ss_bool_t r_equal (R1 r1, R2 r2)
 Determines whether two ranges are equal.

template<typename R1, typename R2, typename P> ss_bool_t r_equal (R1 r1, R2 r2, P pr)
 Determines whether two ranges are equal, as defined by a predicate.

template<typename R, typename T> R r_exists (R r, T const &val)
 Determines whether the given value exists in the range.

template<typename R, typename P> R r_exists_if (R r, P pr)
 Determines whether a value matching the given predicate exists in the range.

template<typename R, typename P, typename T> R r_exists_if (R r, P pr, T &result)
 Determines whether a value matching the given predicate exists in the range.

template<typename R, typename T> void r_fill (R r, const T &val)
 Sets the elements in the range to the given value.

template<typename R, typename S, typename T> void r_fill_n (R r, S n, T const &val)
 Sets the first n elements in the range to the given value.

template<typename R, typename T> R r_find (R r, T const &val)
 Finds the first instance of the given value in the range.

template<typename R, typename P> R r_find (R r, P pr)
 Finds the first instance of a value in the range matching the given predicate.

template<typename R, typename F> F r_for_each (R r, F f)
 Applies the given function to every element in the range.

template<typename R, typename F> void r_generate (R r, F f)
 Sets each element in the range to the result of the given function.

template<typename R> R::value_type r_max_element (R r)
 Evaluates the maximum element in the range.

template<typename R, typename F> R::value_type r_max_element (R r, F f)
 Evaluates the maximum element in the range evaluated according to the given function.

template<typename R> R::value_type r_min_element (R r)
 Evaluates the minimum element in the range.

template<typename R, typename F> R::value_type r_min_element (R r, F f)
 Evaluates the minimum element in the range evaluated according to the given function.

template<typename R, typename T> void r_replace (R r, T oldVal, T newVal)
 Replaces all elements of the given old value with the new value.

template<typename R, typename P, typename T> void r_replace_if (R r, P pr, T newVal)
 Replaces all elements matching the given predicate with the new value.


Detailed Description

The STLSoft namespace - stlsoft - is the namespace for the STLSoft main project, and the root namespace for all the other STLSoft projects, whose individual namespaces reside within it.

Typedef Documentation

typedef ss_bool_t bool_t
 

bool

typedef ss_byte_t byte_t
 

Byte.

typedef ss_char_a_t char_a_t
 

Ansi char type.

typedef ss_char_w_t char_w_t
 

Unicode char type.

typedef ss_int16_t int16_t
 

16-bit integer

typedef ss_int32_t int32_t
 

32-bit integer

typedef ss_int8_t int8_t
 

8-bit integer

typedef ss_int_t int_t
 

integer

typedef ss_long_t long_t
 

long integer

typedef ss_ptrdiff_t ptrdiff_t
 

ptr diff

typedef ss_short_t short_t
 

short integer

typedef ss_sint16_t sint16_t
 

16-bit signed integer

typedef ss_sint32_t sint32_t
 

32-bit signed integer

typedef ss_sint8_t sint8_t
 

8-bit signed integer

typedef ss_sint_t sint_t
 

signed integer

typedef ss_size_t size_t
 

size

typedef ss_bool_pr_t_ ss_bool_t
 

bool

typedef ss_uint8_t ss_byte_t
 

Byte.

typedef char ss_char_a_t
 

Ansi char type.

typedef ss_char_w_pr_t_ ss_char_w_t
 

Unicode char type.

typedef ss_int16_pr_t_ ss_int16_t
 

16-bit integer

typedef ss_int32_pr_t_ ss_int32_t
 

32-bit integer

typedef ss_int8_pr_t_ ss_int8_t
 

8-bit integer

typedef int ss_int_t
 

integer

typedef long ss_long_t
 

long integer

typedef ss_ptrdiff_pr_t_ ss_ptrdiff_t
 

ptr diff

typedef short ss_short_t
 

short integer

typedef ss_sint16_pr_t_ ss_sint16_t
 

16-bit signed integer

typedef ss_sint32_pr_t_ ss_sint32_t
 

32-bit signed integer

typedef ss_sint8_pr_t_ ss_sint8_t
 

8-bit signed integer

typedef signed int ss_sint_t
 

signed integer

typedef ss_size_pr_t_ ss_size_t
 

size

typedef long ss_streamoff_t
 

streamoff

typedef long ss_streampos_t
 

streampos

typedef ss_uint16_pr_t_ ss_uint16_t
 

16-bit unsigned integer

typedef ss_uint32_pr_t_ ss_uint32_t
 

32-bit unsigned integer

typedef ss_uint8_pr_t_ ss_uint8_t
 

8-bit unsigned integer

typedef unsigned int ss_uint_t
 

unsigned integer

typedef ss_streamoff_t streamoff_t
 

streamoff

typedef ss_streampos_t streampos_t
 

streampos

typedef ss_uint16_t uint16_t
 

16-bit unsigned integer

typedef ss_uint32_t uint32_t
 

32-bit unsigned integer

typedef ss_uint8_t uint8_t
 

8-bit unsigned integer

typedef ss_uint_t uint_t
 

unsigned integer


Function Documentation

C const* get_digit_character   [inline]
 

Provides an indexable sequence of digit characters.

one_t is_array_type_func U const volatile *   
 

Constraint to ensure that a type is a pointer type.

one_t is_class_type_func int C::*   
 

Compatibility.

Borland C/C++ 5.6 compiles but thinks everything is a class type CodePlay compiles but thinks that nothing is a class type CodeWarrior compiles and works from version 8 onwards Digital Mars compiles and works ok from version 8.35 onwards GCC works Intel works Visual C++ compiles and works from version 7.1 onwards

one_t is_pointer_type_func U const volatile *   
 

Constraint to ensure that a type is a pointer type.

ss_bool_t operator!= ss_sint8_t    i,
ZERO_v const &   
[inline]
 

operator!= for an integral type and ZERO_v

ss_bool_t operator!= ZERO_v const &   ,
ss_sint8_t    i
[inline]
 

operator!= for ZERO_v and an integral type

ss_bool_t operator!= T const &    lhs,
NULL_v const &    rhs
[inline]
 

operator!= for an arbitrary type and NULL_v

ss_bool_t operator!= NULL_v const &    lhs,
T const &    rhs
[inline]
 

operator!= for NULL_v and an arbitrary type

ss_bool_t operator== ss_sint8_t    i,
ZERO_v const &   
[inline]
 

operator== for an integral type and ZERO_v

ss_bool_t operator== ZERO_v const &   ,
ss_sint8_t    i
[inline]
 

operator== for ZERO_v and integral types

ss_bool_t operator== T const &    lhs,
NULL_v const &    rhs
[inline]
 

operator== for an arbitrary type and NULL_v

ss_bool_t operator== NULL_v const &    lhs,
T const &    rhs
[inline]
 

operator== for NULL_v and an arbitrary type

T& remove_const T const &    t [inline]
 

Remove const.

C const* signed_integer_to_string C *    buf,
ss_size_t    cchBuf,
  i,
ss_size_t   cchRes
[inline]
 

Highly efficient conversion of signed integers to string.

Note:
The function does not check that cchBuf is sufficient for conversion of the particular integer type, except for a debug version assert(). It is the programmer's responsibility to ensure that the supplied buffer is large enough for the conversion. This can be done with the use of the printf_traits templates.
Parameters:
buf  A buffer of sufficient space within which to convert the integer
cchBuf  The number of characters available in buf
i  The integer to convert
cchRes  Receives the number of characters written

C const* signed_integer_to_string C *    buf,
ss_size_t    cchBuf,
  i
[inline]
 

Highly efficient conversion of signed integers to string.

Note:
The function does not check that cchBuf is sufficient for conversion of the particular integer type, except for a debug version assert(). It is the programmer's responsibility to ensure that the supplied buffer is large enough for the conversion. This can be done with the use of the printf_traits templates.
Parameters:
buf  A buffer of sufficient space within which to convert the integer
cchBuf  The number of characters available in buf
i  The integer to convert

C const* unsigned_integer_to_string C *    buf,
ss_size_t    cchBuf,
  i,
ss_size_t   cchRes
[inline]
 

Highly efficient conversion of unsigned integers to string.

Note:
The function does not check that cchBuf is sufficient for conversion of the particular integer type, except for a debug version assert(). It is the programmer's responsibility to ensure that the supplied buffer is large enough for the conversion. This can be done with the use of the printf_traits templates.
Parameters:
buf  A buffer of sufficient space within which to convert the integer
cchBuf  The number of characters available in buf
i  The integer to convert
cchRes  Receives the number of characters written

C const* unsigned_integer_to_string C *    buf,
ss_size_t    cchBuf,
  i
[inline]
 

Highly efficient conversion of unsigned integers to string.

Note:
The function does not check that cchBuf is sufficient for conversion of the particular integer type, except for a debug version assert(). It is the programmer's responsibility to ensure that the supplied buffer is large enough for the conversion. This can be done with the use of the printf_traits templates.
Parameters:
buf  A buffer of sufficient space within which to convert the integer
cchBuf  The number of characters available in buf
i  The integer to convert

STLSoft Libraries documentation © Synesis Software Pty Ltd, 2001-2004