xref: /AOO41X/main/autodoc/source/parser/inc/tokens/stmstarr.hxx (revision 1c78a5d6c0093dece4c096ba53051800fbad6e33)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef ADC_STMSTARR_HXX
25 #define ADC_STMSTARR_HXX
26 
27 // USED SERVICES
28     // BASE CLASSES
29 #include <tokens/stmstate.hxx>
30     // COMPONENTS
31     // PARAMETERS
32 #include <tokens/token.hxx>
33 
34 
35 class StmArrayStatus : public StmStatus
36 {
37   public:
38     typedef TextToken::F_CRTOK F_CRTOK;
39 
40     // LIFECYCLE
41                         StmArrayStatus(
42                             intt                i_nStatusSize,
43                             const INT16 *       in_aArrayModel,
44                             F_CRTOK             i_fTokenCreateFunction,
45                             bool                in_bIsDefault );
46                         ~StmArrayStatus();
47 
48     // INQUIRY
49     StmStatus::Branch   NextBy(
50                             intt                in_nFollowersIndex) const;
TokenCreateFunction() const51     F_CRTOK             TokenCreateFunction() const
52                                                 { return fTokenCreateFunction; }
53     virtual bool        IsADefault() const;
54 
55     // ACCESS
56     virtual StmArrayStatus *
57                         AsArray();
58     bool                SetBranch(
59                             intt                in_nBranchIx,
60                             StmStatus::Branch   in_nBranch );
61     void                SetTokenCreateFunction(
62                             F_CRTOK             i_fTokenCreateFunction );
63   private:
64     StmStatus::Branch * dpBranches;
65     intt                nNrOfBranches;
66     F_CRTOK             fTokenCreateFunction;
67     bool                bIsADefault;
68 };
69 
70 
71 // IMPLEMENTATION
72 
73 inline void
SetTokenCreateFunction(F_CRTOK i_fTokenCreateFunction)74 StmArrayStatus::SetTokenCreateFunction( F_CRTOK i_fTokenCreateFunction )
75     { fTokenCreateFunction = i_fTokenCreateFunction; }
76 
77 
78 
79 #endif
80 
81 
82