Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SALOME KERNEL Developer
Deprecated List
Packages
Data Structures
Files
File List
idl
src
Basics
Communication
Container
DF
DSC
DSC_Basic
DSC_User
Basic
Datastream
Calcium
Calcium.cxx
calcium.h
Calcium.hxx
calcium_complex_port_uses.hxx
calcium_destructors_port_uses.cxx
calcium_double_port_uses.hxx
calcium_intc_port_uses.hxx
calcium_logical_port_uses.hxx
calcium_long_port_uses.hxx
calcium_port_factory.cxx
calcium_port_factory.hxx
calcium_provides_port.cxx
calcium_provides_port.hxx
calcium_real_port_uses.hxx
calcium_repository_types.cxx
calcium_string_port_uses.hxx
calcium_uses_port.cxx
calcium_uses_port.hxx
CalciumC.c
CalciumCInterface.cxx
CalciumCInterface.hxx
CalciumCouplingPolicy.cxx
CalciumCouplingPolicy.hxx
CalciumCxxInterface.cxx
CalciumCxxInterface.hxx
calciumE.h
CalciumException.hxx
calciumf.c
calciumf.h
CalciumGenericProvidesPort.hxx
CalciumGenericUsesPort.hxx
CalciumInterface.hxx
CalciumMacroCInterface.hxx
calciumP.h
CalciumPortTraits.hxx
CalciumProvidesPort.cxx
CalciumTypes.hxx
CalciumTypes2CorbaTypes.cxx
CalciumTypes2CorbaTypes.hxx
CalciumTypesManipulator.hxx
Copy2CorbaSpace.hxx
Copy2UserSpace.hxx
CorbaTypes2CalciumTypes.cxx
CorbaTypes2CalciumTypes.hxx
fortoc.h
test_CalciumInterface.cxx
test_DataIdContainer.cxx
testInterpolation.cxx
version.h
Palm
AdjacentFunctor.hxx
AdjacentPredicate.hxx
ConstTraits.hxx
CorbaTypeManipulator.hxx
CouplingPolicy.hxx
DataIdFilter.hxx
DisplayPair.hxx
fake.cc
FindKeyPredicate.hxx
GenericPort.hxx
GenericProvidesPort.hxx
GenericUsesPort.hxx
IteratorTraits.hxx
ProcessTimeIntervalTraits.hxx
testAdjacentFunctor.cxx
testAdjacentPredicate.cxx
base_port.cxx
base_port.hxx
DSC_Exception.hxx
port_factory.hxx
provides_port.cxx
provides_port.hxx
Superv_Component_i.cxx
Superv_Component_i.hxx
test_DSC_Exception.cxx
uses_port.cxx
uses_port.hxx
ParallelDSC
GenericObj
HDFPersist
KernelHelpers
Launcher
LifeCycleCORBA
Logger
ModuleCatalog
ModuleGenerator
MPIContainer
NamingService
Notification
NOTIFICATION_SWIG
ParallelContainer
Registry
ResourcesManager
SALOMEDS
SALOMEDSClient
SALOMEDSImpl
SALOMELocalTrace
SALOMESDS
SALOMETraceCollector
TestContainer
TestMPIContainer
TOOLSDS
UnitTests
Utils
Globals
CalciumPortTraits.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
23
// File : CalciumPortTraits.hxx
24
// Author : Eric Fayolle (EDF)
25
// Module : KERNEL
26
// Modified by : $LastChangedBy$
27
// Date : $LastChangedDate: 2007-02-28 15:26:32 +0100 (mer, 28 fév 2007) $
28
// Id : $Id$
29
//
30
#ifndef _PORT_TRAITS_HXX_
31
#define _PORT_TRAITS_HXX_
32
33
#include "
Superv_Component_i.hxx
"
34
#include "
calcium_port_factory.hxx
"
35
36
// PROVIDES PORT TRAITS
37
template
<
class
T>
struct
UnknownProvidesPortType
{};
38
39
template
<
class
T>
struct
ProvidesPortTraits
{
40
typedef
UnknownProvidesPortType<T>
PortType
;
41
};
42
struct
integer
{};
43
template
<>
struct
ProvidesPortTraits
<
integer
> {
44
typedef
calcium_integer_port_provides
PortType
;
45
};
46
template
<>
struct
ProvidesPortTraits
<int> {
47
typedef
calcium_intc_port_provides
PortType
;
48
};
49
template
<>
struct
ProvidesPortTraits
<long> {
50
typedef
calcium_long_port_provides
PortType
;
51
};
52
template
<>
struct
ProvidesPortTraits
<float> {
53
typedef
calcium_real_port_provides
PortType
;
54
};
55
template
<>
struct
ProvidesPortTraits
<double> {
56
typedef
calcium_double_port_provides
PortType
;
57
};
58
template
<>
struct
ProvidesPortTraits
<
bool
> {
59
typedef
calcium_logical_port_provides
PortType
;
60
};
61
// D�finition du type cplx pour disciminer ce type de port
62
// de celui du float
63
struct
cplx
{};
64
template
<>
struct
ProvidesPortTraits
<
cplx
> {
65
typedef
calcium_complex_port_provides
PortType
;
66
};
67
// D�finition du type str pour obtenir le type de port
68
// correspondant
69
struct
str
{};
70
template
<>
struct
ProvidesPortTraits
<
str
> {
71
typedef
calcium_string_port_provides
PortType
;
72
};
73
// D�finition du type intc pour obtenir le type de port
74
// correspondant
75
struct
intc
{};
76
template
<>
struct
ProvidesPortTraits
<
intc
> {
77
typedef
calcium_intc_port_provides
PortType
;
78
};
79
80
81
template
<
typename
T >
struct
StarTrait
{
typedef
T
NonStarType
; };
82
template
<
typename
T >
struct
StarTrait
< T * > {
typedef
T
NonStarType
; };
83
84
85
// USES PORT TRAITS
86
template
<
class
T>
struct
UnknownUsesPortType
{};
87
template
<
class
T>
struct
UsesPortTraits
{
88
typedef
UnknownUsesPortType<T>
PortType
;
89
};
90
template
<>
struct
UsesPortTraits
<
integer
> {
91
typedef
calcium_integer_port_uses
PortType
;
92
};
93
template
<>
struct
UsesPortTraits
<int> {
94
typedef
calcium_intc_port_uses
PortType
;
95
};
96
template
<>
struct
UsesPortTraits
<long> {
97
typedef
calcium_long_port_uses
PortType
;
98
};
99
template
<>
struct
UsesPortTraits
<float> {
100
typedef
calcium_real_port_uses
PortType
;
101
};
102
template
<>
struct
UsesPortTraits
<double> {
103
typedef
calcium_double_port_uses
PortType
;
104
};
105
template
<>
struct
UsesPortTraits
<
str
> {
106
typedef
calcium_string_port_uses
PortType
;
107
};
108
template
<>
struct
UsesPortTraits
<
bool
> {
109
typedef
calcium_logical_port_uses
PortType
;
110
};
111
template
<>
struct
UsesPortTraits
<
cplx
> {
112
typedef
calcium_complex_port_uses
PortType
;
113
};
114
template
<>
struct
UsesPortTraits
<
intc
> {
115
typedef
calcium_intc_port_uses
PortType
;
116
};
117
118
#endif
src
DSC
DSC_User
Datastream
Calcium
CalciumPortTraits.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS