/[escript]/trunk/escript/src/DataEmpty.h
ViewVC logotype

Annotation of /trunk/escript/src/DataEmpty.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1811 - (hide annotations)
Thu Sep 25 23:11:13 2008 UTC (11 years ago) by ksteube
File MIME type: text/plain
File size: 3967 byte(s)
Copyright updated in all files

1 jgs 121
2 ksteube 1312 /*******************************************************
3 ksteube 1811 *
4     * Copyright (c) 2003-2008 by University of Queensland
5     * Earth Systems Science Computational Center (ESSCC)
6     * http://www.uq.edu.au/esscc
7     *
8     * Primary Business: Queensland, Australia
9     * Licensed under the Open Software License version 3.0
10     * http://www.opensource.org/licenses/osl-3.0.php
11     *
12     *******************************************************/
13 ksteube 1312
14 ksteube 1811
15 jgs 102 #if !defined escript_DataEmpty_20040726_H
16 jgs 82 #define escript_DataEmpty_20040726_H
17 woo409 757 #include "system_dep.h"
18 jgs 82
19     #include "DataAbstract.h"
20    
21     namespace escript {
22    
23     /**
24     \brief
25 jgs 102 Implements the DataAbstract interface for an empty Data object.
26 jgs 82
27     Description:
28 jgs 102 Implements the DataAbstract interface for an empty Data object.
29 jgs 82 */
30 jgs 121
31 jgs 102 class DataEmpty : public DataAbstract {
32 jgs 82
33     public:
34    
35     /**
36     \brief
37 jgs 102 Default constructor for DataEmpty.
38 jgs 82
39     Description:
40 jgs 102 Default constructor for DataEmpty.
41 jgs 82
42     */
43 woo409 757 ESCRIPT_DLL_API
44 jgs 82 DataEmpty();
45 jgs 102
46 jgs 82 /**
47     \brief
48 jgs 102 Destructor for DataEmpty.
49 jgs 82 */
50 woo409 757 ESCRIPT_DLL_API
51 jgs 102 virtual
52     ~DataEmpty();
53    
54 jgs 82 /**
55     \brief
56 jgs 102 Return a textual representation of the Data object.
57 jgs 82 */
58 woo409 757 ESCRIPT_DLL_API
59 jgs 102 virtual
60     std::string
61     toString() const;
62    
63 jgs 82 /**
64 jfenwick 1799 \brief Return a deep copy of the current object.
65     */
66     ESCRIPT_DLL_API
67     virtual
68     DataAbstract*
69     deepCopy();
70    
71    
72     /**
73 jgs 82 \brief
74 jgs 121 Return the offset for the given sample.
75     NB: This will throw an exception as obviously an empty Data object contains no
76     samples. An implementation is required by parent DataAbstract class.
77 jgs 102 \param sampleNo - Input - Sample number.
78     \param dataPointNo - Input - data-point number.
79 jgs 82 */
80 woo409 757 ESCRIPT_DLL_API
81 jgs 102 virtual
82 jfenwick 1796 DataTypes::ValueType::size_type
83 jgs 102 getPointOffset(int sampleNo,
84     int dataPointNo) const;
85    
86 jfenwick 1796 // /**
87     /* \brief
88 jgs 82 Return a view into the data for the data point specified.
89 jgs 121 NB: This will throw an exception as obviously an empty Data object contains no
90     data points. An implementation is required by parent DataAbstract class.
91 jgs 102 \param sampleNo - Input - Sample number.
92 jfenwick 1796 \param dataPointNo - Input - data-point number.*/
93     // */
94     // ESCRIPT_DLL_API
95     // virtual
96     // DataArrayView
97     // getDataPoint(int sampleNo,
98     // int dataPointNo);
99 jgs 102
100     /**
101 jgs 82 \brief
102 jgs 102 Return the number of doubles stored for the Data object.
103 jgs 121 As this is an empty Data object, this method will always return 0.
104 jgs 82 */
105 woo409 757 ESCRIPT_DLL_API
106 jgs 102 virtual
107     ValueType::size_type
108     getLength() const;
109    
110 jgs 82 /**
111     \brief
112 jgs 102 Factory method that returns a newly created DataEmpty sliced from the
113     current Data object according to the specified region.
114 jgs 121 NB: This will throw an exception as obviously an empty Data object contains no
115     data to slice from. An implementation is required by parent DataAbstract class.
116 jgs 82 */
117 woo409 757 ESCRIPT_DLL_API
118 jgs 102 virtual
119     DataAbstract*
120 jfenwick 1796 getSlice(const DataTypes::RegionType& region) const;
121 jgs 102
122     /**
123 jgs 82 \brief
124 jgs 102 Set the current Data object according to the specified slice from the
125     given input value.
126 jgs 121 NB: This will throw an exception as obviously an empty Data object contains no
127     data to slice to. An implementation is required by parent DataAbstract class.
128 jgs 82 \param value Input - Data to copy from
129     \param region Input - Region to copy.
130     */
131 woo409 757 ESCRIPT_DLL_API
132 jgs 102 virtual
133     void
134     setSlice(const DataAbstract* value,
135 jfenwick 1796 const DataTypes::RegionType& region);
136 jgs 102
137 jfenwick 1803
138     void
139     dump(const std::string fileName) const;
140    
141 jgs 82 protected:
142    
143 jfenwick 1796 /**
144     \brief Provide access to underlying storage. Internal use only!
145     */
146     ESCRIPT_DLL_API
147     virtual DataTypes::ValueType&
148     getVector();
149    
150     ESCRIPT_DLL_API
151     virtual const DataTypes::ValueType&
152     getVector() const;
153    
154 jgs 82 private:
155 jgs 102
156 jfenwick 1796 // /**
157     /* \brief
158 jgs 121 Throw a standard exception. This function is called if an attempt
159 jfenwick 1796 is made to use functions of DataEmpty that are not valid.*/
160     // */
161     // void
162     // throwStandardException(const std::string& functionName) const;
163 jgs 121
164 jgs 82 };
165    
166     } // end of namespace
167 jgs 121
168 jgs 82 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26