1 /******************************************************************************
2 * Copyright (c) 2000-2016 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
12 ******************************************************************************/
14 // This module contains 'record of' and 'set of' type declarations for certain base types.
15 // It is used for pre-generating the C++ classes that represent these types,
16 // so they are not re-generated every time they are declared in TTCN-3 or ASN.1
18 module PreGenRecordOf {
20 // 'record of' declarations (regular):
21 type record of boolean PREGEN_RECORD_OF_BOOLEAN;
23 type record of integer PREGEN_RECORD_OF_INTEGER;
25 type record of float PREGEN_RECORD_OF_FLOAT;
27 type record of bitstring PREGEN_RECORD_OF_BITSTRING;
29 type record of hexstring PREGEN_RECORD_OF_HEXSTRING;
31 type record of octetstring PREGEN_RECORD_OF_OCTETSTRING;
33 type record of charstring PREGEN_RECORD_OF_CHARSTRING;
35 type record of universal charstring PREGEN_RECORD_OF_UNIVERSAL_CHARSTRING;
37 // 'record of' declarations (with optimized memory allocation):
38 type record of boolean PREGEN_RECORD_OF_BOOLEAN_OPTIMIZED with { extension "optimize:memalloc" };
40 type record of integer PREGEN_RECORD_OF_INTEGER_OPTIMIZED with { extension "optimize:memalloc" };
42 type record of float PREGEN_RECORD_OF_FLOAT_OPTIMIZED with { extension "optimize:memalloc" };
44 type record of bitstring PREGEN_RECORD_OF_BITSTRING_OPTIMIZED with { extension "optimize:memalloc" };
46 type record of hexstring PREGEN_RECORD_OF_HEXSTRING_OPTIMIZED with { extension "optimize:memalloc" };
48 type record of octetstring PREGEN_RECORD_OF_OCTETSTRING_OPTIMIZED with { extension "optimize:memalloc" };
50 type record of charstring PREGEN_RECORD_OF_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };
52 type record of universal charstring PREGEN_RECORD_OF_UNIVERSAL_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };
54 // 'set of' declarations (regular):
55 type set of boolean PREGEN_SET_OF_BOOLEAN;
57 type set of integer PREGEN_SET_OF_INTEGER;
59 type set of float PREGEN_SET_OF_FLOAT;
61 type set of bitstring PREGEN_SET_OF_BITSTRING;
63 type set of hexstring PREGEN_SET_OF_HEXSTRING;
65 type set of octetstring PREGEN_SET_OF_OCTETSTRING;
67 type set of charstring PREGEN_SET_OF_CHARSTRING;
69 type set of universal charstring PREGEN_SET_OF_UNIVERSAL_CHARSTRING;
71 // 'set of' declarations (with optimized memory allocation):
72 type set of boolean PREGEN_SET_OF_BOOLEAN_OPTIMIZED with { extension "optimize:memalloc" };
74 type set of integer PREGEN_SET_OF_INTEGER_OPTIMIZED with { extension "optimize:memalloc" };
76 type set of float PREGEN_SET_OF_FLOAT_OPTIMIZED with { extension "optimize:memalloc" };
78 type set of bitstring PREGEN_SET_OF_BITSTRING_OPTIMIZED with { extension "optimize:memalloc" };
80 type set of hexstring PREGEN_SET_OF_HEXSTRING_OPTIMIZED with { extension "optimize:memalloc" };
82 type set of octetstring PREGEN_SET_OF_OCTETSTRING_OPTIMIZED with { extension "optimize:memalloc" };
84 type set of charstring PREGEN_SET_OF_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };
86 type set of universal charstring PREGEN_SET_OF_UNIVERSAL_CHARSTRING_OPTIMIZED with { extension "optimize:memalloc" };