src/qt3support/tools/q3valuestack.qdoc
changeset 0 1918ee327afb
child 4 3b1da2848fc7
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the documentation of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 /*!
       
    43     \class Q3ValueStack
       
    44     \brief The Q3ValueStack class is a value-based template class that provides a stack.
       
    45     \compat
       
    46 
       
    47     Define a template instance Q3ValueStack\<X\> to create a stack of
       
    48     values that all have the class X.
       
    49 
       
    50     Note that Q3ValueStack does not store pointers to the members of
       
    51     the stack; it holds a copy of every member. That is why these
       
    52     kinds of classes are called "value based"; Q3PtrStack, Q3PtrList,
       
    53     Q3Dict, etc., are "pointer based".
       
    54 
       
    55     A stack is a last in, first out (LIFO) structure. Items are added
       
    56     to the top of the stack with push() and retrieved from the top
       
    57     with pop(). The top() function provides access to the topmost item
       
    58     without removing it.
       
    59 
       
    60     Example:
       
    61     \snippet doc/src/snippets/code/doc_src_q3valuestack.qdoc 0
       
    62 
       
    63     Q3ValueStack is a specialized Q3ValueList provided for convenience.
       
    64     All of Q3ValueList's functionality also applies to Q3PtrStack, for
       
    65     example the facility to iterate over all elements using
       
    66     Q3ValueStack<T>::Iterator. See Q3ValueListIterator for further
       
    67     details.
       
    68 
       
    69     Some classes cannot be used within a Q3ValueStack, for example
       
    70     everything derived from QObject and thus all classes that
       
    71     implement widgets. Only values can be used in a Q3ValueStack. To
       
    72     qualify as a value, the class must provide
       
    73     \list
       
    74     \i a copy constructor;
       
    75     \i an assignment operator;
       
    76     \i a default constructor, i.e. a constructor that does not take any arguments.
       
    77     \endlist
       
    78 
       
    79     Note that C++ defaults to field-by-field assignment operators and
       
    80     copy constructors if no explicit version is supplied. In many
       
    81     cases this is sufficient.
       
    82 */
       
    83 
       
    84 
       
    85 /*!
       
    86     \fn Q3ValueStack::Q3ValueStack()
       
    87 
       
    88     Constructs an empty stack.
       
    89 */
       
    90 
       
    91 /*!
       
    92     \fn Q3ValueStack::~Q3ValueStack()
       
    93 
       
    94     Destroys the stack. References to the values in the stack and all
       
    95     iterators of this stack become invalidated. Because Q3ValueStack is
       
    96     highly tuned for performance, you won't see warnings if you use
       
    97     invalid iterators because it is impossible for an iterator to
       
    98     check whether or not it is valid.
       
    99 */
       
   100 
       
   101 
       
   102 /*!
       
   103     \fn void  Q3ValueStack::push( const T& d )
       
   104 
       
   105     Adds element, \a d, to the top of the stack. Last in, first out.
       
   106 
       
   107     This function is equivalent to append().
       
   108 
       
   109     \sa pop(), top()
       
   110 */
       
   111 
       
   112 /*!
       
   113     \fn T& Q3ValueStack::top()
       
   114 
       
   115     Returns a reference to the top item of the stack or the item
       
   116     referenced by end() if no such item exists. Note that you must not
       
   117     change the value the end() iterator points to.
       
   118 
       
   119     This function is equivalent to last().
       
   120 
       
   121     \sa pop(), push(), Q3ValueList::fromLast()
       
   122 */
       
   123 
       
   124 
       
   125 /*!
       
   126     \fn const T& Q3ValueStack::top() const
       
   127 
       
   128     \overload
       
   129 
       
   130     Returns a reference to the top item of the stack or the item
       
   131     referenced by end() if no such item exists.
       
   132 
       
   133     This function is equivalent to last().
       
   134 
       
   135     \sa pop(), push(), Q3ValueList::fromLast()
       
   136 */
       
   137 
       
   138 /*!
       
   139     \fn T Q3ValueStack::pop()
       
   140 
       
   141     Removes the top item from the stack and returns it.
       
   142 
       
   143     \sa top() push()
       
   144 */
       
   145 
       
   146 
       
   147 
       
   148 
       
   149