1 ///////////////////////////////////////////////////////////////////////////////
2 // Copyright (c) 2000-2015 Ericsson Telecom AB
3 // All rights reserved. This program and the accompanying materials
4 // are made available under the terms of the Eclipse Public License v1.0
5 // which accompanies this distribution, and is available at
6 // http://www.eclipse.org/legal/epl-v10.html
7 ///////////////////////////////////////////////////////////////////////////////
9 // This module contains 'record of' and 'set of' type declarations for certain base types.
10 // It is used for pre-generating the C++ classes that represent these types,
11 // so they are not re-generated every time they are declared in TTCN-3 or ASN.1
13 module PreGenRecordOf {
15 // 'record of' declarations (regular):
16 type record of boolean PREGEN_RECORD_OF_BOOLEAN;
18 type record of integer PREGEN_RECORD_OF_INTEGER;
20 type record of float PREGEN_RECORD_OF_FLOAT;
22 type record of bitstring PREGEN_RECORD_OF_BITSTRING;
24 type record of hexstring PREGEN_RECORD_OF_HEXSTRING;
26 type record of octetstring PREGEN_RECORD_OF_OCTETSTRING;
28 type record of charstring PREGEN_RECORD_OF_CHARSTRING;
30 type record of universal charstring PREGEN_RECORD_OF_UNIVERSAL_CHARSTRING;
32 // 'record of' declarations (with optimized memory allocation):
33 type record of boolean PREGEN_RECORD_OF_BOOLEAN_OPTIMIZED with { extension "optimize:memalloc" };
35 type record of integer PREGEN_RECORD_OF_INTEGER_OPTIMIZED with { extension "optimize:memalloc" };
37 type record of float PREGEN_RECORD_OF_FLOAT_OPTIMIZED with { extension "optimize:memalloc" };
39 type record of bitstring PREGEN_RECORD_OF_BITSTRING_OPTIMIZED with { extension "optimize:memalloc" };
41 type record of hexstring PREGEN_RECORD_OF_HEXSTRING_OPTIMIZED with { extension "optimize:memalloc" };
43 type record of octetstring PREGEN_RECORD_OF_OCTETSTRING_OPTIMIZED with { extension "optimize:memalloc" };
45 type record of charstring PREGEN_RECORD_OF_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };
47 type record of universal charstring PREGEN_RECORD_OF_UNIVERSAL_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };
49 // 'set of' declarations (regular):
50 type set of boolean PREGEN_SET_OF_BOOLEAN;
52 type set of integer PREGEN_SET_OF_INTEGER;
54 type set of float PREGEN_SET_OF_FLOAT;
56 type set of bitstring PREGEN_SET_OF_BITSTRING;
58 type set of hexstring PREGEN_SET_OF_HEXSTRING;
60 type set of octetstring PREGEN_SET_OF_OCTETSTRING;
62 type set of charstring PREGEN_SET_OF_CHARSTRING;
64 type set of universal charstring PREGEN_SET_OF_UNIVERSAL_CHARSTRING;
66 // 'set of' declarations (with optimized memory allocation):
67 type set of boolean PREGEN_SET_OF_BOOLEAN_OPTIMIZED with { extension "optimize:memalloc" };
69 type set of integer PREGEN_SET_OF_INTEGER_OPTIMIZED with { extension "optimize:memalloc" };
71 type set of float PREGEN_SET_OF_FLOAT_OPTIMIZED with { extension "optimize:memalloc" };
73 type set of bitstring PREGEN_SET_OF_BITSTRING_OPTIMIZED with { extension "optimize:memalloc" };
75 type set of hexstring PREGEN_SET_OF_HEXSTRING_OPTIMIZED with { extension "optimize:memalloc" };
77 type set of octetstring PREGEN_SET_OF_OCTETSTRING_OPTIMIZED with { extension "optimize:memalloc" };
79 type set of charstring PREGEN_SET_OF_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };
81 type set of universal charstring PREGEN_SET_OF_UNIVERSAL_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };