Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef ARY_IDL_I_TYPES4IDL_HXX
21 : #define ARY_IDL_I_TYPES4IDL_HXX
22 :
23 : // USED SERVICES
24 : #include <ary/types.hxx>
25 :
26 :
27 :
28 :
29 : namespace ary
30 : {
31 : namespace idl
32 : {
33 : class CodeEntity;
34 : class Type;
35 :
36 :
37 : typedef TypedId<CodeEntity> Ce_id;
38 : typedef TypedId<Type> Type_id;
39 :
40 :
41 : /** This is used when an ->ary::idl::ExplicitType
42 : represents a templated struct and is sorted into the
43 : dictionary of an ->ary::idl::XNameRoom.
44 : Then local type name and template type id are concatenated
45 : to one string with this char as delimiter.
46 : */
47 : const char C_cTemplateDelimiter = '<';
48 :
49 : typedef std::vector<Ce_id> Ce_idList;
50 :
51 :
52 : enum E_ParameterDirection
53 : {
54 : param_in,
55 : param_out,
56 : param_inout
57 : };
58 :
59 :
60 : enum E_SightLevel
61 : {
62 : sl_Module, // not file bound entities, like modules
63 : sl_File, // entities on top level within one file, like interface or enum
64 : sl_Member // member entities, like enumvalue or function
65 : };
66 :
67 : inline Ce_id
68 11928 : Ce_id_Null()
69 : {
70 11928 : return Ce_id(0);
71 : }
72 :
73 : inline void
74 : NullPush_IdList(Ce_idList * o_pList)
75 : {
76 : if (o_pList)
77 : o_pList->push_back( Ce_id_Null() );
78 : }
79 :
80 : inline void
81 : NullPush_IdList_2(Ce_idList * o_pList)
82 : {
83 : if (o_pList)
84 : {
85 : o_pList->push_back( Ce_id_Null() );
86 : o_pList->push_back( Ce_id_Null() );
87 : }
88 : }
89 :
90 : namespace alphabetical_index
91 : {
92 : enum E_Letter
93 : {
94 : a = int('a'),
95 : b,
96 : c,
97 : d,
98 : e,
99 : f,
100 : g,
101 : h,
102 : i,
103 : j,
104 : k,
105 : l,
106 : m,
107 : n,
108 : o,
109 : p,
110 : q,
111 : r,
112 : s,
113 : t,
114 : u,
115 : v,
116 : w,
117 : x,
118 : y,
119 : z,
120 : non_alpha = int('_'),
121 : MAX
122 : };
123 : }
124 :
125 :
126 :
127 :
128 : } // namespace idl
129 : } // namespace ary
130 : #endif
131 :
132 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|