epoc32/include/tools/stlport/bitset
branchSymbian3
changeset 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/tools/stlport/bitset	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -0,0 +1,63 @@
     1.4 +/*
     1.5 + * Copyright (c) 1998
     1.6 + * Silicon Graphics Computer Systems, Inc.
     1.7 + *
     1.8 + * Copyright (c) 1999
     1.9 + * Boris Fomitchev
    1.10 + *
    1.11 + * This material is provided "as is", with absolutely no warranty expressed
    1.12 + * or implied. Any use is at your own risk.
    1.13 + *
    1.14 + * Permission to use or copy this software for any purpose is hereby granted
    1.15 + * without fee, provided the above notices are retained on all copies.
    1.16 + * Permission to modify the code and to distribute modified code is granted,
    1.17 + * provided the above notices are retained, and a notice that the code was
    1.18 + * modified is included with the above copyright notice.
    1.19 + *
    1.20 + */
    1.21 +
    1.22 +#ifndef _STLP_BITSET
    1.23 +#define _STLP_BITSET
    1.24 +
    1.25 +// This implementation of bitset<> has a second template parameter,
    1.26 +// _WordT, which defaults to unsigned long.  *YOU SHOULD NOT USE
    1.27 +// THIS FEATURE*.  It is experimental, and it may be removed in
    1.28 +// future releases.
    1.29 +
    1.30 +// A bitset of size N, using words of type _WordT, will have
    1.31 +// N % (sizeof(_WordT) * CHAR_BIT) unused bits.  (They are the high-
    1.32 +// order bits in the highest word.)  It is a class invariant
    1.33 +// of class bitset<> that those unused bits are always zero.
    1.34 +
    1.35 +// Most of the actual code isn't contained in bitset<> itself, but in the
    1.36 +// base class _Base_bitset.  The base class works with whole words, not with
    1.37 +// individual bits.  This allows us to specialize _Base_bitset for the
    1.38 +// important special case where the bitset is only a single word.
    1.39 +
    1.40 +// The C++ standard does not define the precise semantics of operator[].
    1.41 +// In this implementation the const version of operator[] is equivalent
    1.42 +// to test(), except that it does no range checking.  The non-const version
    1.43 +// returns a reference to a bit, again without doing any range checking.
    1.44 +
    1.45 +#ifndef _STLP_OUTERMOST_HEADER_ID
    1.46 +#  define _STLP_OUTERMOST_HEADER_ID 0x2
    1.47 +#  include <stl/_prolog.h>
    1.48 +#endif
    1.49 +
    1.50 +#ifdef _STLP_PRAGMA_ONCE
    1.51 +#  pragma once
    1.52 +#endif
    1.53 +
    1.54 +#include <stl/_bitset.h>
    1.55 +
    1.56 +#if (_STLP_OUTERMOST_HEADER_ID == 0x2 )
    1.57 +#  include <stl/_epilog.h>
    1.58 +#  undef _STLP_OUTERMOST_HEADER_ID
    1.59 +#endif
    1.60 +
    1.61 +#endif /* _STLP_BITSET */
    1.62 +
    1.63 +// Local Variables:
    1.64 +// mode:C++
    1.65 +// End:
    1.66 +