aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/std
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/std')
-rw-r--r--libstdc++-v3/include/std/chrono37
-rw-r--r--libstdc++-v3/include/std/complex15
-rw-r--r--libstdc++-v3/include/std/condition_variable10
-rw-r--r--libstdc++-v3/include/std/fstream6
-rw-r--r--libstdc++-v3/include/std/istream4
-rw-r--r--libstdc++-v3/include/std/memory9
-rw-r--r--libstdc++-v3/include/std/mutex18
-rw-r--r--libstdc++-v3/include/std/ostream3
-rw-r--r--libstdc++-v3/include/std/ratio16
-rw-r--r--libstdc++-v3/include/std/sstream6
-rw-r--r--libstdc++-v3/include/std/stdexcept9
-rw-r--r--libstdc++-v3/include/std/system_error6
-rw-r--r--libstdc++-v3/include/std/thread15
-rw-r--r--libstdc++-v3/include/std/type_traits30
-rw-r--r--libstdc++-v3/include/std/valarray19
15 files changed, 172 insertions, 31 deletions
diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono
index 76dc93c..7602d71 100644
--- a/libstdc++-v3/include/std/chrono
+++ b/libstdc++-v3/include/std/chrono
@@ -1,6 +1,6 @@
// <chrono> -*- C++ -*-
-// Copyright (C) 2008 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -53,6 +53,17 @@
namespace std
{
+ /**
+ * @defgroup chrono Time
+ * @ingroup utilities
+ *
+ * Classes and functions for time.
+ * @{
+ */
+
+ /** @namespace std::chrono
+ * @brief ISO C++ 0x entities sub namespace for time and date.
+ */
namespace chrono
{
template<typename _Rep, typename _Period = ratio<1>>
@@ -84,7 +95,7 @@ namespace std
namespace chrono
{
- // primary template for duration_cast impl.
+ // Primary template for duration_cast impl.
template<typename _ToDuration, typename _CF, typename _CR,
bool _NumIsOne = false, bool _DenIsOne = false>
struct __duration_cast_impl
@@ -132,6 +143,7 @@ namespace std
}
};
+ /// duration_cast
template<typename _ToDuration, typename _Rep, typename _Period>
inline _ToDuration
duration_cast(const duration<_Rep, _Period>& __d)
@@ -145,11 +157,13 @@ namespace std
__cf::num == 1, __cf::den == 1>::__cast(__d);
}
+ /// treat_as_floating_point
template<typename _Rep>
struct treat_as_floating_point
: is_floating_point<_Rep>
{ };
+ /// duration_values
template<typename _Rep>
struct duration_values
{
@@ -433,11 +447,22 @@ namespace std
const duration<_Rep2, _Period2>& __rhs)
{ return !(__lhs < __rhs); }
+ /// nanoseconds
typedef duration<int64_t, nano> nanoseconds;
+
+ /// microseconds
typedef duration<int64_t, micro> microseconds;
+
+ /// milliseconds
typedef duration<int64_t, milli> milliseconds;
+
+ /// seconds
typedef duration<int64_t > seconds;
+
+ /// minutes
typedef duration<int, ratio< 60>> minutes;
+
+ /// hours
typedef duration<int, ratio<3600>> hours;
/// time_point
@@ -496,6 +521,7 @@ namespace std
duration __d;
};
+ /// time_point_cast
template<typename _ToDuration, typename _Clock, typename _Duration>
inline time_point<_Clock, _ToDuration>
time_point_cast(const time_point<_Clock, _Duration>& __t)
@@ -621,6 +647,7 @@ namespace std
};
#ifdef _GLIBCXX_USE_CLOCK_MONOTONIC
+ /// monotonic_clock
struct monotonic_clock
{
typedef chrono::nanoseconds duration;
@@ -638,8 +665,10 @@ namespace std
#endif
typedef system_clock high_resolution_clock;
- }
-}
+ } // namespace chrono
+
+ // @} group chrono
+} // namespace std
#endif //_GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex
index 1c48251..ebde1a0 100644
--- a/libstdc++-v3/include/std/complex
+++ b/libstdc++-v3/include/std/complex
@@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- complex number classes.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008
+// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -53,6 +53,14 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
+ /**
+ * @defgroup complex_numbers Complex Numbers
+ * @ingroup numerics
+ *
+ * Classes and functions for complex numbers.
+ * @{
+ */
+
// Forward declarations.
template<typename _Tp> class complex;
template<> class complex<float>;
@@ -104,7 +112,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
template<typename _Tp> complex<_Tp> tan(const complex<_Tp>&);
/// Return complex hyperbolic tangent of @a z.
template<typename _Tp> complex<_Tp> tanh(const complex<_Tp>&);
- //@}
// 26.2.2 Primary template class complex
@@ -1448,8 +1455,6 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// These bits have to be at the end of this file, so that the
// specializations have all been defined.
- // ??? No, they have to be there because of compiler limitation at
- // inlining. It suffices that class specializations be defined.
inline
complex<float>::complex(const complex<double>& __z)
: _M_value(__z.__rep()) { }
@@ -1483,6 +1488,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
#endif
#endif
+ // @} group complex_numbers
+
_GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable
index c26c213..85687ca 100644
--- a/libstdc++-v3/include/std/condition_variable
+++ b/libstdc++-v3/include/std/condition_variable
@@ -47,6 +47,14 @@
namespace std
{
+ /**
+ * @defgroup condition_variables Condition Variables
+ * @ingroup concurrency
+ *
+ * Classes for condition_variable support.
+ * @{
+ */
+
/// condition_variable
class condition_variable
{
@@ -211,6 +219,8 @@ namespace std
native_handle()
{ return &_M_cond; }
};
+
+ // @} group condition_variables
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream
index 46b6307..097d576 100644
--- a/libstdc++-v3/include/std/fstream
+++ b/libstdc++-v3/include/std/fstream
@@ -1,7 +1,7 @@
// File based streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008
+// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -53,6 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.1] template class basic_filebuf
/**
* @brief The actual work of input and output (for files).
+ * @ingroup io
*
* This class associates both its input and output sequence with an
* external disk file, and maintains a joint file position for both
@@ -392,6 +393,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.5] Template class basic_ifstream
/**
* @brief Controlling input for files.
+ * @ingroup io
*
* This class supports reading from named files, using the inherited
* functions from std::basic_istream. To control the associated
@@ -520,6 +522,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.8] Template class basic_ofstream
/**
* @brief Controlling output for files.
+ * @ingroup io
*
* This class supports reading from named files, using the inherited
* functions from std::basic_ostream. To control the associated
@@ -651,6 +654,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.8.1.11] Template class basic_fstream
/**
* @brief Controlling input and output for files.
+ * @ingroup io
*
* This class supports reading from and writing to named files, using
* the inherited functions from std::basic_iostream. To control the
diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream
index 8b87c73..d59afe6 100644
--- a/libstdc++-v3/include/std/istream
+++ b/libstdc++-v3/include/std/istream
@@ -1,7 +1,7 @@
// Input streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008
+// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -50,6 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.6.1.1] Template class basic_istream
/**
* @brief Controlling input.
+ * @ingroup io
*
* This is the base class for all input streams. It provides text
* formatting of all builtin types, and communicates with any class
@@ -758,6 +759,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// 27.6.1.5 Template class basic_iostream
/**
* @brief Merging istream and ostream capabilities.
+ * @ingroup io
*
* This class multiply inherits from the input and output stream classes
* simply to provide a single interface.
diff --git a/libstdc++-v3/include/std/memory b/libstdc++-v3/include/std/memory
index 045477e..1ee4031 100644
--- a/libstdc++-v3/include/std/memory
+++ b/libstdc++-v3/include/std/memory
@@ -1,6 +1,6 @@
// <memory> -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -95,4 +95,11 @@
# include <backward/auto_ptr.h>
#endif
+/**
+ * @defgroup memory Memory
+ * @ingroup utilities
+ *
+ * Components for memory allocation, deallocation, and management.
+ */
+
#endif /* _GLIBCXX_MEMORY */
diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex
index bdd5193..6d6475d 100644
--- a/libstdc++-v3/include/std/mutex
+++ b/libstdc++-v3/include/std/mutex
@@ -56,6 +56,14 @@
namespace std
{
+ /**
+ * @defgroup mutexes Mutexes
+ * @ingroup concurrency
+ *
+ * Classes for mutex support.
+ * @{
+ */
+
/// mutex
class mutex
{
@@ -383,7 +391,11 @@ namespace std
extern const try_to_lock_t try_to_lock;
extern const adopt_lock_t adopt_lock;
- /// Thrown to indicate errors with lock operations.
+ /**
+ * @brief Thrown to indicate errors with lock operations.
+ *
+ * @ingroup exceptions
+ */
class lock_error : public exception
{
public:
@@ -682,6 +694,7 @@ namespace std
return __try_lock_impl<0>::__do_try_lock(__locks);
}
+ /// lock
template<typename _L1, typename _L2, typename ..._L3>
void
lock(_L1&, _L2&, _L3&...);
@@ -727,6 +740,7 @@ namespace std
extern "C" void __once_proxy();
+ /// call_once
template<typename _Callable, typename... _Args>
void
call_once(once_flag& __once, _Callable __f, _Args&&... __args)
@@ -751,6 +765,8 @@ namespace std
if (__e)
__throw_system_error(__e);
}
+
+ // @} group mutexes
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 93a7d6e..092f704 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -1,7 +1,7 @@
// Output streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007, 2008
+// 2006, 2007, 2008, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -50,6 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.6.2.1] Template class basic_ostream
/**
* @brief Controlling output.
+ * @ingroup io
*
* This is the base class for all output streams. It provides text
* formatting of all builtin types, and communicates with any class
diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio
index 124e9af..5f6af6b 100644
--- a/libstdc++-v3/include/std/ratio
+++ b/libstdc++-v3/include/std/ratio
@@ -1,6 +1,6 @@
-// <ratio> -*- C++ -*-
+// ratio -*- C++ -*-
-// Copyright (C) 2008 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -47,6 +47,14 @@
namespace std
{
+ /**
+ * @defgroup ratio Rational Arithmetic
+ * @ingroup utilities
+ *
+ * Compile time representation of fininte rational numbers.
+ * @{
+ */
+
template<intmax_t _Pn>
struct __static_sign
: integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
@@ -132,7 +140,7 @@ namespace std
/**
* @brief Provides compile-time rational arithmetic.
- *
+ *
* This class template represents any finite rational number with a
* numerator and denominator representable by compile-time constants of
* type intmax_t. The ratio is simplified when instantiated.
@@ -289,6 +297,8 @@ namespace std
typedef ratio< 1000000000000, 1> tera;
typedef ratio< 1000000000000000, 1> peta;
typedef ratio< 1000000000000000000, 1> exa;
+
+ // @} group ratio
}
#endif //_GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream
index 6d3366b..400760a 100644
--- a/libstdc++-v3/include/std/sstream
+++ b/libstdc++-v3/include/std/sstream
@@ -1,7 +1,7 @@
// String based streams -*- C++ -*-
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2008 Free Software Foundation, Inc.
+// 2006, 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -49,6 +49,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.1] template class basic_stringbuf
/**
* @brief The actual work of input and output (for std::string).
+ * @ingroup io
*
* This class associates either or both of its input and output sequences
* with a sequence of characters, which can be initialized from, or made
@@ -249,6 +250,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.2] Template class basic_istringstream
/**
* @brief Controlling input for std::string.
+ * @ingroup io
*
* This class supports reading from objects of type std::basic_string,
* using the inherited functions from std::basic_istream. To control
@@ -358,6 +360,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.3] Template class basic_ostringstream
/**
* @brief Controlling output for std::string.
+ * @ingroup io
*
* This class supports writing to objects of type std::basic_string,
* using the inherited functions from std::basic_ostream. To control
@@ -467,6 +470,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// [27.7.4] Template class basic_stringstream
/**
* @brief Controlling input and output for std::string.
+ * @ingroup io
*
* This class supports reading from and writing to objects of type
* std::basic_string, using the inherited functions from
diff --git a/libstdc++-v3/include/std/stdexcept b/libstdc++-v3/include/std/stdexcept
index f8e7410..b1500fb 100644
--- a/libstdc++-v3/include/std/stdexcept
+++ b/libstdc++-v3/include/std/stdexcept
@@ -1,6 +1,6 @@
// Standard exception classes -*- C++ -*-
-// Copyright (C) 2001, 2002, 2005, 2007 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2002, 2005, 2007, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -45,6 +45,11 @@
_GLIBCXX_BEGIN_NAMESPACE(std)
+ /**
+ * @addtogroup exceptions
+ * @{
+ */
+
/** Logic errors represent problems in the internal logic of a program;
* in theory, these are preventable, and even detectable before the
* program runs (e.g., violations of class invariants).
@@ -143,6 +148,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
explicit underflow_error(const string& __arg);
};
+ // @} group exceptions
+
_GLIBCXX_END_NAMESPACE
#endif /* _GLIBCXX_STDEXCEPT */
diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error
index 486c3e6..940ea7c 100644
--- a/libstdc++-v3/include/std/system_error
+++ b/libstdc++-v3/include/std/system_error
@@ -318,7 +318,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
{ return !(__lhs == __rhs); }
- /// Thrown to indicate error code of underlying system.
+ /**
+ * @brief Thrown to indicate error code of underlying system.
+ *
+ * @ingroup exceptions
+ */
class system_error : public std::runtime_error
{
private:
diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread
index 8f00489..f2e5fc3 100644
--- a/libstdc++-v3/include/std/thread
+++ b/libstdc++-v3/include/std/thread
@@ -53,6 +53,14 @@
namespace std
{
+ /**
+ * @defgroup threads Threads
+ * @ingroup concurrency
+ *
+ * Classes for thread support.
+ * @{
+ */
+
/// thread
class thread
{
@@ -225,7 +233,10 @@ namespace std
return __out << __id._M_thread;
}
- // 30.2.2 Namespace this_thread.
+ /** @namespace std::this_thread
+ * @brief ISO C++ 0x entities sub namespace for thread.
+ * 30.2.2 Namespace this_thread.
+ */
namespace this_thread
{
/// get_id
@@ -267,6 +278,8 @@ namespace std
}
#endif
}
+
+ // @} group threads
}
#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
diff --git a/libstdc++-v3/include/std/type_traits b/libstdc++-v3/include/std/type_traits
index 87fdff1..132a924 100644
--- a/libstdc++-v3/include/std/type_traits
+++ b/libstdc++-v3/include/std/type_traits
@@ -1,6 +1,6 @@
-// <type_traits> -*- C++ -*-
+// C++0x type_traits -*- C++ -*-
-// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -62,6 +62,10 @@
namespace std
{
+ /** @addtogroup metaprogramming
+ * @{
+ */
+
// Primary classification traits.
/// is_lvalue_reference
@@ -314,25 +318,26 @@ namespace std
// Define a nested type if some predicate holds.
- /// Primary template.
+ // Primary template.
+ /// enable_if
template<bool, typename _Tp = void>
struct enable_if
{ };
- /// Partial specialization for true.
+ // Partial specialization for true.
template<typename _Tp>
struct enable_if<true, _Tp>
{ typedef _Tp type; };
- // A conditional expression, but for types.
- // If true, first, if false, second.
- /// Primary template.
+ // A conditional expression, but for types. If true, first, if false, second.
+ // Primary template.
+ /// conditional
template<bool _Cond, typename _Iftrue, typename _Iffalse>
struct conditional
{ typedef _Iftrue type; };
- /// Partial specialization for false.
+ // Partial specialization for false.
template<typename _Iftrue, typename _Iffalse>
struct conditional<false, _Iftrue, _Iffalse>
{ typedef _Iffalse type; };
@@ -471,7 +476,8 @@ namespace std
// Given an integral/enum type, return the corresponding unsigned
// integer type.
- /// Primary template.
+ // Primary template.
+ /// make_unsigned
template<typename _Tp>
struct make_unsigned
{ typedef typename __make_unsigned_selector<_Tp>::__type type; };
@@ -549,7 +555,8 @@ namespace std
// Given an integral/enum type, return the corresponding signed
// integer type.
- /// Primary template.
+ // Primary template.
+ /// make_signed
template<typename _Tp>
struct make_signed
{ typedef typename __make_signed_selector<_Tp>::__type type; };
@@ -558,6 +565,7 @@ namespace std
template<>
struct make_signed<bool>;
+ /// common_type
template<typename... _Tp>
struct common_type;
@@ -592,6 +600,8 @@ namespace std
typedef typename
common_type<typename common_type<_Tp, _Up>::type, _Vp...>::type type;
};
+
+ // @} group metaprogramming
}
#endif // __GXX_EXPERIMENTAL_CXX0X__
diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray
index b0fa512..bfeae8e 100644
--- a/libstdc++-v3/include/std/valarray
+++ b/libstdc++-v3/include/std/valarray
@@ -1,7 +1,7 @@
// The template and inlines for the -*- C++ -*- valarray class.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007
+// 2006, 2007, 2009
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -95,6 +95,14 @@ _GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(std)
/**
+ * @defgroup numeric_arrays Numeric Arrays
+ * @ingroup numerics
+ *
+ * Classes and functions for representing and manipulating arrays of elements.
+ * @{
+ */
+
+ /**
* @brief Smart array designed to support numeric processing.
*
* A valarray is an array that provides constraints intended to allow for
@@ -552,6 +560,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
return _M_data[__i];
}
+ // @} group numeric_arrays
+
_GLIBCXX_END_NAMESPACE
#include <bits/valarray_after.h>
@@ -563,6 +573,11 @@ _GLIBCXX_END_NAMESPACE
_GLIBCXX_BEGIN_NAMESPACE(std)
+ /**
+ * @addtogroup numeric_arrays
+ * @{
+ */
+
template<typename _Tp>
inline
valarray<_Tp>::valarray() : _M_size(0), _M_data(0) {}
@@ -1069,6 +1084,8 @@ _DEFINE_BINARY_OPERATOR(>=, __greater_equal)
#undef _DEFINE_BINARY_OPERATOR
+ // @} group numeric_arrays
+
_GLIBCXX_END_NAMESPACE
#endif /* _GLIBCXX_VALARRAY */