aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/traits.hxx
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-09-27 17:13:09 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-09-27 17:13:09 +0200
commitafd8e6dd307288b68c4ce6163f918198d92bf363 (patch)
treef2ba87b3a518d4e8a950a7ddaed5f7fd7427e5f0 /odb/oracle/traits.hxx
parentf033924ddddf9cc8aa801c191c7d74fb3c8cf0a8 (diff)
Implement callbacks as non-inline functions
Diffstat (limited to 'odb/oracle/traits.hxx')
-rw-r--r--odb/oracle/traits.hxx43
1 files changed, 2 insertions, 41 deletions
diff --git a/odb/oracle/traits.hxx b/odb/oracle/traits.hxx
index 30af2a3..687d28a 100644
--- a/odb/oracle/traits.hxx
+++ b/odb/oracle/traits.hxx
@@ -526,26 +526,7 @@ namespace odb
}
static bool
- result_callback (void* context, void* buffer, ub4 size, chunk_position p)
- {
- std::string& v (*reinterpret_cast<std::string*> (context));
-
- switch (p)
- {
- case one_chunk:
- case first_chunk:
- {
- v.clear ();
- }
- case next_chunk:
- case last_chunk:
- {
- v.append (reinterpret_cast<char*> (buffer), size);
- }
- }
-
- return true;
- }
+ result_callback (void* context, void* buffer, ub4 size, chunk_position);
static bool
param_callback (void* context,
@@ -675,27 +656,7 @@ namespace odb
}
static bool
- result_callback (void* context, void* buffer, ub4 size, chunk_position p)
- {
- value_type& v (*reinterpret_cast<value_type*> (context));
-
- switch (p)
- {
- case one_chunk:
- case first_chunk:
- {
- v.clear ();
- }
- case next_chunk:
- case last_chunk:
- {
- char* b (reinterpret_cast<char*> (buffer));
- v.insert (v.end (), b, b + size);
- }
- }
-
- return true;
- }
+ result_callback (void* context, void* buffer, ub4 size, chunk_position);
static bool
param_callback (void* context,