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.h File Reference

The root header for the STLSoft project, and for all other projects. More...

#include "stlsoft_cc_obsolete.h"
#include <stddef.h>
#include <stdlib.h>
#include <cassert>

Go to the source code of this file.

Namespaces

namespace  stlsoft

Defines

#define _STLSOFT_VER_MAJOR   1
 The major version number of STLSoft.

#define _STLSOFT_VER_MINOR   8
 The minor version number of STLSoft.

#define _STLSOFT_VER_REVISION   1
 The revision version number of STLSoft.

#define _STLSOFT_VER   _STLSOFT_VER_1_8_1
 The current composite version number of STLSoft.

#define stlsoft_assert(ex)   assert(ex)
 Defines a runtime assertion.

#define stlsoft_message_assert(msg, ex)   stlsoft_assert((msg, ex))
 Defines a runtime assertion, with message.

#define stlsoft_static_assert(ex)   stlsoft_message_assert("Static assertion failed: ", (ex))
 Defines a compile-time assertion.

#define stlsoft_ns_qual(x)   ::stlsoft::x
 Qualifies with stlsoft:: if STLSoft is using namespaces or, if not, does not qualify.

#define stlsoft_ns_using(x)   using ::stlsoft::x;
 Declares a using directive (with respect to stlsoft) if STLSoft is using namespaces or, if not, does nothing.

#define stlsoft_ns_qual_std(x)   ::std::x
 Qualifies with std:: if STLSoft is being translated in the context of the standard library being within the std namespace or, if not, does not qualify.

#define stlsoft_ns_using_std(x)   using ::std::x;
 Declares a using directive (with respect to std) if STLSoft is being translated in the context of the standard library being within the std namespace or, if not, does nothing.

#define ss_explicit_k   explicit
 Evaluates to explicit on translators that support the keyword, otherwise to nothing.

#define ss_mutable_k   mutable
 Evaluates to mutable on translators that support the keyword, otherwise to nothing.

#define ss_typename_param_k   typename
 Evaluates to typename on translators that support the keyword, otherwise to class.

#define ss_typename_type_k   typename
 Evaluates to typename on translators that support the keyword, otherwise to nothing.

#define ss_typename_type_def_k   typename
 Evaluates to typename on translators that support the keyword, otherwise to nothing.

#define ss_typename_type_mil_k
 Evaluates to typename on translators that support the keyword, otherwise to nothing.

#define stlsoft_num_elements(ar)
 Evaluates, at compile time, to the number of elements within the given vector entity.

#define stlsoft_raw_offsetof(s, m)   offsetof(s, m)
 Evaluates, at compile time, the offset of a structure/class member.

#define stlsoft_destroy_instance(t, _type, p)   do { (p)->~t(); } while(0)
 Destroys the given instance p of the given type (t and _type).

#define stlsoft_gen_opaque(type)   typedef struct __stlsoft_htype##type{ int i;} const *type;
 Generates an opaque type with the name type.

#define STLSOFT_DECLARE_TEMPLATE_PARAM_AS_FRIEND(T)   friend T
 Declares a template (class) parameter to be a friend of the template.

#define STLSOFT_GEN_TRAIT_SPECIALISATION(TR, T, V)
 Used to define a specialisation of a traits type.

#define STLSOFT_SUPPRESS_UNUSED(x)   ((void)x)
 Used to suppress unused variable warnings.


Detailed Description

The root header for the STLSoft project, and for all other projects.


Define Documentation

#define _STLSOFT_VER   _STLSOFT_VER_1_8_1
 

The current composite version number of STLSoft.

#define _STLSOFT_VER_MAJOR   1
 

The major version number of STLSoft.

#define _STLSOFT_VER_MINOR   8
 

The minor version number of STLSoft.

#define _STLSOFT_VER_REVISION   1
 

The revision version number of STLSoft.

#define ss_explicit_k   explicit
 

Evaluates to explicit on translators that support the keyword, otherwise to nothing.

#define ss_mutable_k   mutable
 

Evaluates to mutable on translators that support the keyword, otherwise to nothing.

#define ss_typename_param_k   typename
 

Evaluates to typename on translators that support the keyword, otherwise to class.

#define ss_typename_type_def_k   typename
 

Evaluates to typename on translators that support the keyword, otherwise to nothing.

#define ss_typename_type_k   typename
 

Evaluates to typename on translators that support the keyword, otherwise to nothing.

#define ss_typename_type_mil_k
 

Evaluates to typename on translators that support the keyword, otherwise to nothing.

#define stlsoft_assert ex       assert(ex)
 

Defines a runtime assertion.

Parameters:
ex  Must be non-zero, or an assertion will be fired

#define stlsoft_message_assert msg,
ex       stlsoft_assert((msg, ex))
 

Defines a runtime assertion, with message.

Parameters:
ex  Must be non-zero, or an assertion will be fired
msg  The literal character string message to be included in the assertion

#define stlsoft_ns_qual      ::stlsoft::x
 

Qualifies with stlsoft:: if STLSoft is using namespaces or, if not, does not qualify.

#define stlsoft_ns_qual_std      ::std::x
 

Qualifies with std:: if STLSoft is being translated in the context of the standard library being within the std namespace or, if not, does not qualify.

#define stlsoft_ns_using      using ::stlsoft::x;
 

Declares a using directive (with respect to stlsoft) if STLSoft is using namespaces or, if not, does nothing.

#define stlsoft_ns_using_std      using ::std::x;
 

Declares a using directive (with respect to std) if STLSoft is being translated in the context of the standard library being within the std namespace or, if not, does nothing.

#define stlsoft_static_assert ex       stlsoft_message_assert("Static assertion failed: ", (ex))
 

Defines a compile-time assertion.

Parameters:
ex  Must be non-zero, or compilation will fail

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