TizenRT Libs&Environment
v2.0 M2
Main Page
Modules
Data Structures
Files
File List
Globals
cxxinitialize.h
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* Copyright 2018 Samsung Electronics All Rights Reserved.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing,
12
* software distributed under the License is distributed on an
13
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14
* either express or implied. See the License for the specific
15
* language governing permissions and limitations under the License.
16
*
17
****************************************************************************/
18
/****************************************************************************
19
* apps/include/platform/cxxinitialize.h
20
*
21
* Copyright (C) 2017 Gregory Nutt. All rights reserved.
22
* Author: Gregory Nutt <gnutt@nuttx.org>
23
*
24
* Redistribution and use in source and binary forms, with or without
25
* modification, are permitted provided that the following conditions
26
* are met:
27
*
28
* 1. Redistributions of source code must retain the above copyright
29
* notice, this list of conditions and the following disclaimer.
30
* 2. Redistributions in binary form must reproduce the above copyright
31
* notice, this list of conditions and the following disclaimer in
32
* the documentation and/or other materials provided with the
33
* distribution.
34
* 3. Neither the name NuttX nor the names of its contributors may be
35
* used to endorse or promote products derived from this software
36
* without specific prior written permission.
37
*
38
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
39
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
40
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
41
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
42
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
43
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING,
44
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
45
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
46
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
47
* LIABILITY, OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
48
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
49
* POSSIBILITY OF SUCH DAMAGE.
50
*
51
****************************************************************************/
52
53
#ifndef __APPS_INCLUDE_PLATFORM_CXXINITIALIZE_H
54
#define __APPS_INCLUDE_PLATFORM_CXXINITIALIZE_H
55
56
/****************************************************************************
57
* Included Files
58
****************************************************************************/
59
60
#include <tinyara/config.h>
61
62
/****************************************************************************
63
* Public Functions
64
****************************************************************************/
65
66
#undef EXTERN
67
#if defined(__cplusplus)
68
#define EXTERN extern "C"
69
extern
"C"
{
70
#else
71
72
#define EXTERN extern
73
#endif
74
75
/****************************************************************************
76
* Name: up_cxxinitialize
77
*
78
* Description:
79
* If C++ and C++ static constructors are supported, then this function
80
* must be provided by board-specific logic in order to perform
81
* initialization of the static C++ class instances.
82
*
83
* This function should then be called in the application-specific
84
* logic in order to perform the C++ initialization. NOTE that no
85
* component of the core RTOS logic is involved; This function
86
* definition only provides the 'contract' between application
87
* specific C++ code and platform-specific toolchain support
88
*
89
****************************************************************************/
90
91
#if defined(CONFIG_HAVE_CXX) && defined(CONFIG_HAVE_CXXINITIALIZE)
92
void
up_cxxinitialize(
void
);
93
#endif
94
95
#undef EXTERN
96
#if defined(__cplusplus)
97
}
98
#endif
99
100
#endif
/* __APPS_INCLUDE_PLATFORM_CXXINITIALIZE_H */
apps
include
platform
cxxinitialize.h
Generated by
1.8.11