source: Sophya/trunk/SophyaLib/BaseTools/ppftpointerio.cc@ 2692

Last change on this file since 2692 was 2687, checked in by ansari, 20 years ago

1/ Suppression print de debug ds fiosegdb.h
2/ Ajout fichier ppftpointerio.cc avec les implementation specifiques de
la classe PPF_TPointer_IO<T> - qui etaient ds le .h , produisant des
warning 'multiply defined' avec OSF pour la fabrication shared-libs
3/ MAJ numero de version et Makefile

Reza 25/4/2005

File size: 6.3 KB
Line 
1// This may look like C code, but it is really -*- C++ -*-
2// Classe pour faciliter entree-sortie PPF pour des pointeurs
3// Implementation specifique pour certains type de pointeurs
4// R. Ansari - Mars 2005
5
6#include "machdefs.h"
7#include "sopnamsp.h"
8#include "ppftpointerio.h"
9
10//----------------------------------------------------------------------
11namespace SOPHYA {
12
13// Specific implementation using table I/O in PPFBinaryIOStreams
14DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
15void PPF_TPointer_IO<char>::Write(POutPersist & os, char const * arr, size_t n)
16 { os.PutBytes(arr,n); }
17DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
18void PPF_TPointer_IO<char>::Read(PInPersist & is, char * arr, size_t n)
19 { is.GetBytes(arr,n); }
20
21DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
22void PPF_TPointer_IO< int_1 >::Write(POutPersist & os, int_1 const * arr, size_t n)
23 { os.Put(arr,n); }
24DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
25void PPF_TPointer_IO< int_1 >::Read(PInPersist & is, int_1 * arr, size_t n)
26 { is.Get(arr,n); }
27DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
28void PPF_TPointer_IO< uint_1 >::Write(POutPersist & os, uint_1 const * arr, size_t n)
29 { os.Put(arr,n); }
30DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
31void PPF_TPointer_IO< uint_1 >::Read(PInPersist & is, uint_1 * arr, size_t n)
32 { is.Get(arr,n); }
33
34DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
35void PPF_TPointer_IO< int_2 >::Write(POutPersist & os, int_2 const * arr, size_t n)
36 { os.Put(arr,n); }
37DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
38void PPF_TPointer_IO< int_2 >::Read(PInPersist & is, int_2 * arr, size_t n)
39 { is.Get(arr,n); }
40DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
41void PPF_TPointer_IO< uint_2 >::Write(POutPersist & os, uint_2 const * arr, size_t n)
42 { os.Put(arr,n); }
43DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
44void PPF_TPointer_IO< uint_2 >::Read(PInPersist & is, uint_2 * arr, size_t n)
45 { is.Get(arr,n); }
46
47DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
48void PPF_TPointer_IO< int_4 >::Write(POutPersist & os, int_4 const * arr, size_t n)
49 { os.Put(arr,n); }
50DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
51void PPF_TPointer_IO< int_4 >::Read(PInPersist & is, int_4 * arr, size_t n)
52 { is.Get(arr,n); }
53DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
54void PPF_TPointer_IO< uint_4 >::Write(POutPersist & os, uint_4 const * arr, size_t n)
55 { os.Put(arr,n); }
56DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
57void PPF_TPointer_IO< uint_4 >::Read(PInPersist & is, uint_4 * arr, size_t n)
58 { is.Get(arr,n); }
59
60DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
61void PPF_TPointer_IO< int_8 >::Write(POutPersist & os, int_8 const * arr, size_t n)
62 { os.Put(arr,n); }
63DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
64void PPF_TPointer_IO< int_8 >::Read(PInPersist & is, int_8 * arr, size_t n)
65 { is.Get(arr,n); }
66DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
67void PPF_TPointer_IO< uint_8 >::Write(POutPersist & os, uint_8 const * arr, size_t n)
68 { os.Put(arr,n); }
69DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
70void PPF_TPointer_IO< uint_8 >::Read(PInPersist & is, uint_8 * arr, size_t n)
71 { is.Get(arr,n); }
72
73
74DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
75void PPF_TPointer_IO< r_4 >::Write(POutPersist & os, r_4 const * arr, size_t n)
76 { os.Put(arr,n); }
77DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
78void PPF_TPointer_IO< r_4 >::Read(PInPersist & is, r_4 * arr, size_t n)
79 { is.Get(arr,n); }
80
81DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
82void PPF_TPointer_IO< r_8 >::Write(POutPersist & os, r_8 const * arr, size_t n)
83 { os.Put(arr,n); }
84DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
85void PPF_TPointer_IO< r_8 >::Read(PInPersist & is, r_8 * arr, size_t n)
86 { is.Get(arr,n); }
87
88DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
89void PPF_TPointer_IO< complex<r_4> >::Write(POutPersist & os, complex<r_4> const * arr, size_t n)
90 { os.Put(arr,n); }
91DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
92void PPF_TPointer_IO< complex<r_4> >::Read(PInPersist & is, complex<r_4> * arr, size_t n)
93 { is.Get(arr,n); }
94
95DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
96void PPF_TPointer_IO< complex<r_8> >::Write(POutPersist & os, complex<r_8> const * arr, size_t n)
97 { os.Put(arr,n); }
98DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */
99void PPF_TPointer_IO< complex<r_8> >::Read(PInPersist & is, complex<r_8> * arr, size_t n)
100 { is.Get(arr,n); }
101
102
103} // namespace SOPHYA
104#ifdef __CXX_PRAGMA_TEMPLATES__
105#pragma define_template PPF_TPointer_IO< char >
106#pragma define_template PPF_TPointer_IO< int_1 >
107#pragma define_template PPF_TPointer_IO< uint_1 >
108#pragma define_template PPF_TPointer_IO< int_2 >
109#pragma define_template PPF_TPointer_IO< uint_2 >
110#pragma define_template PPF_TPointer_IO< int_4 >
111#pragma define_template PPF_TPointer_IO< uint_4 >
112#pragma define_template PPF_TPointer_IO< int_8 >
113#pragma define_template PPF_TPointer_IO< uint_8 >
114#pragma define_template PPF_TPointer_IO< r_4 >
115#pragma define_template PPF_TPointer_IO< r_8 >
116#pragma define_template PPF_TPointer_IO< complex<r_4> >
117#pragma define_template PPF_TPointer_IO< complex<r_8> >
118#endif
119
120#if defined(ANSI_TEMPLATES) || defined(GNU_TEMPLATES)
121template class PPF_TPointer_IO< char >;
122template class PPF_TPointer_IO< int_1 >;
123template class PPF_TPointer_IO< uint_1 >;
124template class PPF_TPointer_IO< int_2 >;
125template class PPF_TPointer_IO< uint_2 >;
126template class PPF_TPointer_IO< int_4 >;
127template class PPF_TPointer_IO< uint_4 >;
128template class PPF_TPointer_IO< int_8 >;
129template class PPF_TPointer_IO< uint_8 >;
130template class PPF_TPointer_IO< r_4 >;
131template class PPF_TPointer_IO< r_8 >;
132template class PPF_TPointer_IO< complex<r_4> >;
133template class PPF_TPointer_IO< complex<r_8> >;
134#endif
135
Note: See TracBrowser for help on using the repository browser.