You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2016/06/28 13:07:12 UTC
[25/50] [abbrv] ignite git commit: IGNITE-3113: CPP: Binary
containers documentation. This closes #711.
IGNITE-3113: CPP: Binary containers documentation. This closes #711.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/93445607
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/93445607
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/93445607
Branch: refs/heads/ignite-1232
Commit: 934456070d336fe2a5081f44429ec22d8fc22603
Parents: 5e91594
Author: isapego <is...@gridgain.com>
Authored: Thu Jun 23 15:49:45 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Thu Jun 23 15:49:45 2016 +0300
----------------------------------------------------------------------
.../include/ignite/binary/binary_containers.h | 191 +++++++++++++++----
.../include/ignite/binary/binary_raw_reader.h | 25 ++-
.../include/ignite/binary/binary_raw_writer.h | 13 ++
.../include/ignite/binary/binary_reader.h | 13 ++
.../include/ignite/binary/binary_writer.h | 13 ++
.../platforms/cpp/common/include/ignite/date.h | 2 +-
.../cpp/common/include/ignite/ignite_error.h | 19 +-
.../cpp/common/include/ignite/timestamp.h | 2 +-
.../platforms/cpp/common/src/ignite_error.cpp | 12 +-
.../cpp/core/include/ignite/cache/cache.h | 186 ++++++++++++++++--
.../cpp/core/include/ignite/cache/cache_entry.h | 14 +-
.../include/ignite/cache/query/query_argument.h | 33 ++--
.../include/ignite/cache/query/query_cursor.h | 17 +-
.../ignite/cache/query/query_fields_cursor.h | 11 +-
.../ignite/cache/query/query_fields_row.h | 22 ++-
.../include/ignite/cache/query/query_scan.h | 10 +-
.../core/include/ignite/cache/query/query_sql.h | 15 +-
.../ignite/cache/query/query_sql_fields.h | 15 +-
.../platforms/cpp/core/include/ignite/ignite.h | 21 +-
.../core/include/ignite/ignite_configuration.h | 4 +-
.../cpp/core/include/ignite/ignition.h | 2 +-
.../include/ignite/transactions/transaction.h | 68 ++++++-
.../ignite/transactions/transaction_consts.h | 84 ++++++--
.../ignite/transactions/transaction_metrics.h | 13 +-
.../include/ignite/transactions/transactions.h | 36 +++-
modules/platforms/cpp/core/namespaces.dox | 2 +-
modules/platforms/cpp/cpp.dxg | 4 +-
27 files changed, 687 insertions(+), 160 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/binary/include/ignite/binary/binary_containers.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/binary/include/ignite/binary/binary_containers.h b/modules/platforms/cpp/binary/include/ignite/binary/binary_containers.h
index 946101c..8f26416 100644
--- a/modules/platforms/cpp/binary/include/ignite/binary/binary_containers.h
+++ b/modules/platforms/cpp/binary/include/ignite/binary/binary_containers.h
@@ -37,37 +37,51 @@ namespace ignite
{
/**
* Binary string array writer.
+ *
+ * Can be used to write array of strings one by one.
+ *
+ * Use Write() method to write array string by string, then finilize
+ * the writing by calling Close() method. Once the Close() method have
+ * been called, instance is not usable and will throw an IgniteError
+ * on any subsequent attempt to use it.
*/
class IGNITE_IMPORT_EXPORT BinaryStringArrayWriter
{
public:
/**
* Constructor.
- *
+ * Internal call. Should not be used by user.
+ *
+ * @param impl Writer implementation.
* @param id Identifier.
- * @param impl Writer.
*/
BinaryStringArrayWriter(impl::binary::BinaryWriterImpl* impl, int32_t id);
/**
- * Write string.
+ * Write null-terminated string.
+ *
+ * @param val Null-terminated character sequence to write.
*
- * @param val Null-terminated character sequence.
+ * @throw IgniteError if the writer instance is closed already.
*/
void Write(const char* val);
/**
* Write string.
*
- * @param val String.
- * @param len String length (characters).
+ * @param val String to write.
+ * @param len String length in bytes.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Write(const char* val, int32_t len);
/**
* Write string.
*
- * @param val String.
+ * @param val String to write.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Write(const std::string& val)
{
@@ -76,18 +90,32 @@ namespace ignite
/**
* Close the writer.
+ *
+ * This method should be called to finilize writing
+ * of the array.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Close();
+
private:
/** Implementation delegate. */
impl::binary::BinaryWriterImpl* impl;
- /** Idnetifier. */
+ /** Identifier. */
const int32_t id;
};
/**
- * Binary collection writer.
+ * Binary array writer.
+ *
+ * Can be used to write array of values of the specific type one by
+ * one.
+ *
+ * Use Write() method to write array value by value, then finilize
+ * the writing by calling Close() method. Once the Close() method have
+ * been called, instance is not usable and will throw an IgniteError
+ * on any subsequent attempt to use it.
*/
template<typename T>
class IGNITE_IMPORT_EXPORT BinaryArrayWriter
@@ -95,11 +123,13 @@ namespace ignite
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Writer.
+ * @param impl Writer implementation.
* @param id Identifier.
*/
- BinaryArrayWriter(impl::binary::BinaryWriterImpl* impl, int32_t id) : impl(impl), id(id)
+ BinaryArrayWriter(impl::binary::BinaryWriterImpl* impl, int32_t id) :
+ impl(impl), id(id)
{
// No-op.
}
@@ -107,7 +137,9 @@ namespace ignite
/**
* Write a value.
*
- * @param val Value.
+ * @param val Value to write.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Write(const T& val)
{
@@ -116,11 +148,17 @@ namespace ignite
/**
* Close the writer.
+ *
+ * This method should be called to finilize writing
+ * of the array.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Close()
{
impl->CommitContainer(id);
}
+
private:
/** Implementation delegate. */
impl::binary::BinaryWriterImpl* impl;
@@ -131,6 +169,14 @@ namespace ignite
/**
* Binary collection writer.
+ *
+ * Can be used to write collection of values of the specific type one by
+ * one.
+ *
+ * Use Write() method to write collection value by value, then finilize
+ * the writing by calling Close() method. Once the Close() method have
+ * been called, instance is not usable and will throw an IgniteError
+ * on any subsequent attempt to use it.
*/
template<typename T>
class IGNITE_IMPORT_EXPORT BinaryCollectionWriter
@@ -138,11 +184,13 @@ namespace ignite
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Writer.
+ * @param impl Writer implementation.
* @param id Identifier.
*/
- BinaryCollectionWriter(impl::binary::BinaryWriterImpl* impl, int32_t id) : impl(impl), id(id)
+ BinaryCollectionWriter(impl::binary::BinaryWriterImpl* impl, int32_t id) :
+ impl(impl), id(id)
{
// No-op.
}
@@ -150,7 +198,9 @@ namespace ignite
/**
* Write a value.
*
- * @param val Value.
+ * @param val Value to write.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Write(const T& val)
{
@@ -159,6 +209,11 @@ namespace ignite
/**
* Close the writer.
+ *
+ * This method should be called to finilize writing
+ * of the collection.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Close()
{
@@ -174,6 +229,13 @@ namespace ignite
/**
* Binary map writer.
+ *
+ * Can be used to write map element by element.
+ *
+ * Use Write() method to write map value by value, then finilize
+ * the writing by calling Close() method. Once the Close() method have
+ * been called, instance is not usable and will throw an IgniteError
+ * on any subsequent attempt to use it.
*/
template<typename K, typename V>
class IGNITE_IMPORT_EXPORT BinaryMapWriter
@@ -181,19 +243,24 @@ namespace ignite
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Writer.
+ * @param impl Writer implementation.
+ * @param id Identifier.
*/
- BinaryMapWriter(impl::binary::BinaryWriterImpl* impl, int32_t id) : impl(impl), id(id)
+ BinaryMapWriter(impl::binary::BinaryWriterImpl* impl, int32_t id) :
+ impl(impl), id(id)
{
// No-op.
}
/**
- * Write a value.
+ * Write a map entry.
+ *
+ * @param key Key element of the map entry.
+ * @param val Value element of the map entry.
*
- * @param key Key.
- * @param val Value.
+ * @throw IgniteError if the writer instance is closed already.
*/
void Write(const K& key, const V& val)
{
@@ -202,6 +269,10 @@ namespace ignite
/**
* Close the writer.
+ *
+ * This method should be called to finilize writing of the map.
+ *
+ * @throw IgniteError if the writer instance is closed already.
*/
void Close()
{
@@ -217,14 +288,20 @@ namespace ignite
/**
* Binary string array reader.
+ *
+ * Can be used to read array of strings string by string.
+ *
+ * Use GetNext() method to read array value by value while HasNext()
+ * method returns true.
*/
class IGNITE_IMPORT_EXPORT BinaryStringArrayReader
{
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Reader.
+ * @param impl Reader implementation.
* @param id Identifier.
* @param size Array size.
*/
@@ -240,20 +317,24 @@ namespace ignite
/**
* Get next element.
*
- * @param res Array to store data to.
+ * @param res Buffer to store data to.
* @param len Expected length of string. NULL terminator will be set in case len is
* greater than real string length.
* @return Actual amount of elements read. If "len" argument is less than actual
* array size or resulting array is set to null, nothing will be written
* to resulting array and returned value will contain required array length.
* -1 will be returned in case array in stream was null.
+ *
+ * @throw IgniteError if there is no element to read.
*/
int32_t GetNext(char* res, int32_t len);
/**
* Get next element.
*
- * @return String.
+ * @return String.
+ *
+ * @throw IgniteError if there is no element to read.
*/
std::string GetNext()
{
@@ -279,22 +360,30 @@ namespace ignite
int32_t GetSize() const;
/**
- * Whether array is NULL.
+ * Check whether array is NULL.
+ *
+ * @return True if the array is NULL.
*/
bool IsNull() const;
+
private:
/** Implementation delegate. */
impl::binary::BinaryReaderImpl* impl;
/** Identifier. */
- const int32_t id;
+ const int32_t id;
/** Size. */
- const int32_t size;
+ const int32_t size;
};
/**
* Binary array reader.
+ *
+ * Can be used to read array of values of the specific type one by one.
+ *
+ * Use GetNext() method to read array value by value while HasNext()
+ * method returns true.
*/
template<typename T>
class BinaryArrayReader
@@ -302,8 +391,9 @@ namespace ignite
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Reader.
+ * @param impl Reader implementation.
* @param id Identifier.
* @param size Array size.
*/
@@ -327,6 +417,8 @@ namespace ignite
* Read next element.
*
* @return Next element.
+ *
+ * @throw IgniteError if there is no element to read.
*/
T GetNext()
{
@@ -344,7 +436,9 @@ namespace ignite
}
/**
- * Whether array is NULL.
+ * Check whether array is NULL.
+ *
+ * @return True if the array is NULL.
*/
bool IsNull()
{
@@ -363,6 +457,12 @@ namespace ignite
/**
* Binary collection reader.
+ *
+ * Can be used to read collection of values of the specific type
+ * one by one.
+ *
+ * Use GetNext() method to read array value by value while HasNext()
+ * method returns true.
*/
template<typename T>
class BinaryCollectionReader
@@ -370,8 +470,9 @@ namespace ignite
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Reader.
+ * @param impl Reader implementation.
* @param id Identifier.
* @param type Collection type.
* @param size Collection size.
@@ -396,6 +497,8 @@ namespace ignite
* Read next element.
*
* @return Next element.
+ *
+ * @throw IgniteError if there is no element to read.
*/
T GetNext()
{
@@ -405,7 +508,8 @@ namespace ignite
/**
* Get collection type.
*
- * @return Type.
+ * @return Collection type. See CollectionType for the list of
+ * available values and their description.
*/
CollectionType GetType()
{
@@ -423,7 +527,9 @@ namespace ignite
}
/**
- * Whether collection is NULL.
+ * Check whether collection is NULL.
+ *
+ * @return True if the collection is NULL.
*/
bool IsNull()
{
@@ -445,6 +551,11 @@ namespace ignite
/**
* Binary map reader.
+ *
+ * Can be used to read map entry by entry.
+ *
+ * Use GetNext() method to read array value by value while HasNext()
+ * method returns true.
*/
template<typename K, typename V>
class BinaryMapReader
@@ -452,8 +563,9 @@ namespace ignite
public:
/**
* Constructor.
+ * Internal call. Should not be used by user.
*
- * @param impl Reader.
+ * @param impl Reader implementation.
* @param id Identifier.
* @param type Map type.
* @param size Map size.
@@ -477,8 +589,12 @@ namespace ignite
/**
* Read next element.
*
- * @param key Key.
- * @param val Value.
+ * @param key Pointer to buffer where key element should be stored.
+ * Should not be null.
+ * @param val Pointer to buffer where value element should be
+ * stored. Should not be null.
+ *
+ * @throw IgniteError if there is no element to read.
*/
void GetNext(K* key, V* val)
{
@@ -488,7 +604,8 @@ namespace ignite
/**
* Get map type.
*
- * @return Type.
+ * @return Map type. See MapType for the list of available values
+ * and their description.
*/
MapType GetType()
{
@@ -506,7 +623,9 @@ namespace ignite
}
/**
- * Whether map is NULL.
+ * Check whether map is NULL.
+ *
+ * @return True if the map is NULL.
*/
bool IsNull()
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_reader.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_reader.h b/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_reader.h
index 473be3d..3104437 100644
--- a/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_reader.h
+++ b/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_reader.h
@@ -41,6 +41,17 @@ namespace ignite
{
/**
* Binary raw reader.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object.
+ *
+ * @note User should not store copy of this instance as it can be
+ * invalidated as soon as the initially passed to user instance has
+ * been destructed. For example this means that if user received an
+ * instance of this class as a function argument then he should not
+ * store and use copy of this class out of the scope of this
+ * function.
*/
class IGNITE_IMPORT_EXPORT BinaryRawReader
{
@@ -48,6 +59,8 @@ namespace ignite
/**
* Constructor.
*
+ * Internal method. Should not be used by user.
+ *
* @param impl Implementation.
*/
BinaryRawReader(ignite::impl::binary::BinaryReaderImpl* impl);
@@ -205,14 +218,14 @@ namespace ignite
int32_t ReadDoubleArray(double* res, int32_t len);
/**
- * Read Guid. Maps to "UUID" type in Java.
+ * Read Guid. Maps to "java.util.UUID" type in Java.
*
* @return Result.
*/
Guid ReadGuid();
/**
- * Read array of Guids. Maps to "UUID[]" type in Java.
+ * Read array of Guids. Maps to "java.util.UUID[]" type in Java.
*
* @param res Array to store data to.
* @param len Expected length of array.
@@ -224,14 +237,14 @@ namespace ignite
int32_t ReadGuidArray(Guid* res, int32_t len);
/**
- * Read Date. Maps to "Date" type in Java.
+ * Read Date. Maps to "java.util.Date" type in Java.
*
* @return Result.
*/
Date ReadDate();
/**
- * Read array of Dates. Maps to "Date[]" type in Java.
+ * Read array of Dates. Maps to "java.util.Date[]" type in Java.
*
* @param res Array to store data to.
* @param len Expected length of array.
@@ -243,14 +256,14 @@ namespace ignite
int32_t ReadDateArray(Date* res, int32_t len);
/**
- * Read Timestamp. Maps to "Timestamp" type in Java.
+ * Read Timestamp. Maps to "java.sql.Timestamp" type in Java.
*
* @return Result.
*/
Timestamp ReadTimestamp();
/**
- * Read array of Timestamps. Maps to "Timestamp[]" type in Java.
+ * Read array of Timestamps. Maps to "java.sql.Timestamp[]" type in Java.
*
* @param res Array to store data to.
* @param len Expected length of array.
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_writer.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_writer.h b/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_writer.h
index 41cfef7..c960406 100644
--- a/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_writer.h
+++ b/modules/platforms/cpp/binary/include/ignite/binary/binary_raw_writer.h
@@ -40,6 +40,17 @@ namespace ignite
{
/**
* Binary raw writer.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object.
+ *
+ * @note User should not store copy of this instance as it can be
+ * invalidated as soon as the initially passed to user instance has
+ * been destructed. For example this means that if user received an
+ * instance of this class as a function argument then he should not
+ * store and use copy of this class out of the scope of this
+ * function.
*/
class IGNITE_IMPORT_EXPORT BinaryRawWriter
{
@@ -47,6 +58,8 @@ namespace ignite
/**
* Constructor.
*
+ * Internal method. Should not be used by user.
+ *
* @param impl Implementation.
*/
BinaryRawWriter(ignite::impl::binary::BinaryWriterImpl* impl);
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/binary/include/ignite/binary/binary_reader.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/binary/include/ignite/binary/binary_reader.h b/modules/platforms/cpp/binary/include/ignite/binary/binary_reader.h
index 3e5bbb1..ac70f39 100644
--- a/modules/platforms/cpp/binary/include/ignite/binary/binary_reader.h
+++ b/modules/platforms/cpp/binary/include/ignite/binary/binary_reader.h
@@ -39,6 +39,17 @@ namespace ignite
{
/**
* Binary reader.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object.
+ *
+ * @note User should not store copy of this instance as it can be
+ * invalidated as soon as the initially passed to user instance has
+ * been destructed. For example this means that if user received an
+ * instance of this class as a function argument then he should not
+ * store and use copy of this class out of the scope of this
+ * function.
*/
class IGNITE_IMPORT_EXPORT BinaryReader
{
@@ -46,6 +57,8 @@ namespace ignite
/**
* Constructor.
*
+ * Internal method. Should not be used by user.
+ *
* @param impl Implementation.
*/
BinaryReader(ignite::impl::binary::BinaryReaderImpl* impl);
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/binary/include/ignite/binary/binary_writer.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/binary/include/ignite/binary/binary_writer.h b/modules/platforms/cpp/binary/include/ignite/binary/binary_writer.h
index 1bee82a..1923694 100644
--- a/modules/platforms/cpp/binary/include/ignite/binary/binary_writer.h
+++ b/modules/platforms/cpp/binary/include/ignite/binary/binary_writer.h
@@ -36,6 +36,17 @@ namespace ignite
{
/**
* Binary writer.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object.
+ *
+ * @note User should not store copy of this instance as it can be
+ * invalidated as soon as the initially passed to user instance has
+ * been destructed. For example this means that if user received an
+ * instance of this class as a function argument then he should not
+ * store and use copy of this class out of the scope of this
+ * function.
*/
class IGNITE_IMPORT_EXPORT BinaryWriter
{
@@ -43,6 +54,8 @@ namespace ignite
/**
* Constructor.
*
+ * Internal method. Should not be used by user.
+ *
* @param impl Implementation.
*/
BinaryWriter(ignite::impl::binary::BinaryWriterImpl* impl);
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/common/include/ignite/date.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/include/ignite/date.h b/modules/platforms/cpp/common/include/ignite/date.h
index 31fe5d0..ffdebd3 100644
--- a/modules/platforms/cpp/common/include/ignite/date.h
+++ b/modules/platforms/cpp/common/include/ignite/date.h
@@ -30,7 +30,7 @@
namespace ignite
{
/**
- * Date type.
+ * %Date type.
*/
class IGNITE_IMPORT_EXPORT Date
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/common/include/ignite/ignite_error.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/include/ignite/ignite_error.h b/modules/platforms/cpp/common/include/ignite/ignite_error.h
index edba67a..4c0e263 100644
--- a/modules/platforms/cpp/common/include/ignite/ignite_error.h
+++ b/modules/platforms/cpp/common/include/ignite/ignite_error.h
@@ -76,7 +76,7 @@ namespace ignite
{
namespace java
{
- /* Error constants. */
+ /* JNI error constants. */
const int IGNITE_JNI_ERR_SUCCESS = 0;
const int IGNITE_JNI_ERR_GENERIC = 1;
const int IGNITE_JNI_ERR_JVM_INIT = 2;
@@ -84,7 +84,7 @@ namespace ignite
}
/**
- * Ignite error information.
+ * %Ignite error information.
*/
class IGNITE_IMPORT_EXPORT IgniteError : public std::exception
{
@@ -119,7 +119,7 @@ namespace ignite
/** Binary error. */
static const int IGNITE_ERR_BINARY = 1002;
- /** Generic Ignite error. */
+ /** Generic %Ignite error. */
static const int IGNITE_ERR_GENERIC = 2000;
/** Illegal argument passed. */
@@ -202,12 +202,13 @@ namespace ignite
static void ThrowIfNeeded(IgniteError& err);
/**
- * Create empty error.
+ * Default constructor.
+ * Creates empty error. Code is IGNITE_SUCCESS and message is NULL.
*/
IgniteError();
/**
- * Create error with specific code.
+ * Create error with specific code. Message is set to NULL.
*
* @param code Error code.
*/
@@ -232,7 +233,7 @@ namespace ignite
* Assignment operator.
*
* @param other Other instance.
- * @return Assignment result.
+ * @return *this.
*/
IgniteError& operator=(const IgniteError& other);
@@ -251,7 +252,7 @@ namespace ignite
/**
* Get error message.
*
- * @return Error message.
+ * @return Error message. Can be NULL.
*/
const char* GetText() const IGNITE_NO_THROW;
@@ -264,12 +265,12 @@ namespace ignite
virtual const char* what() const IGNITE_NO_THROW;
/**
- * Set error.
+ * Initializes IgniteError instance from the JNI error.
*
* @param jniCode Error code.
* @param jniCls Error class.
* @param jniMsg Error message.
- * @param err Error.
+ * @param err Error. Can not be NULL.
*/
static void SetError(const int jniCode, const char* jniCls, const char* jniMsg, IgniteError* err);
private:
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/common/include/ignite/timestamp.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/include/ignite/timestamp.h b/modules/platforms/cpp/common/include/ignite/timestamp.h
index 4528e53..14b83fa 100644
--- a/modules/platforms/cpp/common/include/ignite/timestamp.h
+++ b/modules/platforms/cpp/common/include/ignite/timestamp.h
@@ -32,7 +32,7 @@
namespace ignite
{
/**
- * Timestamp type.
+ * %Timestamp type.
*/
class IGNITE_IMPORT_EXPORT Timestamp
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/common/src/ignite_error.cpp
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/common/src/ignite_error.cpp b/modules/platforms/cpp/common/src/ignite_error.cpp
index 722214b..5acbed2 100644
--- a/modules/platforms/cpp/common/src/ignite_error.cpp
+++ b/modules/platforms/cpp/common/src/ignite_error.cpp
@@ -14,6 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+#include <utility>
+
#include <ignite/ignite_error.h>
#include <ignite/common/utils.h>
@@ -61,14 +63,8 @@ namespace ignite
{
IgniteError tmp(other);
- int tmpCode = code;
- char* tmpMsg = msg;
-
- code = tmp.code;
- msg = tmp.msg;
-
- tmp.code = tmpCode;
- tmp.msg = tmpMsg;
+ std::swap(code, tmp.code);
+ std::swap(msg, tmp.msg);
}
return *this;
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/cache.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/cache.h b/modules/platforms/cpp/core/include/ignite/cache/cache.h
index e60c843..59b7a6a 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/cache.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/cache.h
@@ -46,6 +46,15 @@ namespace ignite
{
/**
* Main entry point for all Data Grid APIs.
+ *
+ * Both key and value types should be default-constructable,
+ * copy-constructable and assignable. Also BinaryType class
+ * template should be specialized for both types.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object. Underlying object released automatically once all
+ * the instances are destructed.
*/
template<typename K, typename V>
class IGNITE_IMPORT_EXPORT Cache
@@ -53,14 +62,23 @@ namespace ignite
public:
/**
* Constructor.
+ *
+ * Internal method. Should not be used by user.
+ *
+ * @param impl Implementation.
*/
- Cache(impl::cache::CacheImpl* impl) : impl(ignite::common::concurrent::SharedPointer<impl::cache::CacheImpl>(impl))
+ Cache(impl::cache::CacheImpl* impl) :
+ impl(impl)
{
// No-op.
}
/**
- * Name of this cache (null for default cache).
+ * Get name of this cache (null for default cache).
+ *
+ * This method should only be used on the valid instance.
+ *
+ * @return Name of this cache (null for default cache).
*/
const char* GetName() const
{
@@ -71,6 +89,8 @@ namespace ignite
* Checks whether this cache contains no key-value mappings.
* Semantically equals to Cache.Size(IGNITE_PEEK_MODE_PRIMARY) == 0.
*
+ * This method should only be used on the valid instance.
+ *
* @return True if cache is empty.
*/
bool IsEmpty()
@@ -88,6 +108,8 @@ namespace ignite
* Checks whether this cache contains no key-value mappings.
* Semantically equals to Cache.Size(IGNITE_PEEK_MODE_PRIMARY) == 0.
*
+ * This method should only be used on the valid instance.
+ *
* @param err Error.
* @return True if cache is empty.
*/
@@ -99,6 +121,8 @@ namespace ignite
/**
* Check if cache contains mapping for this key.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key.
* @return True if cache contains mapping for this key.
*/
@@ -116,6 +140,8 @@ namespace ignite
/**
* Check if cache contains mapping for this key.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key.
* @param err Error.
* @return True if cache contains mapping for this key.
@@ -130,6 +156,8 @@ namespace ignite
/**
* Check if cache contains mapping for these keys.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys.
* @return True if cache contains mapping for all these keys.
*/
@@ -147,6 +175,8 @@ namespace ignite
/**
* Check if cache contains mapping for these keys.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys.
* @param err Error.
* @return True if cache contains mapping for all these keys.
@@ -165,6 +195,8 @@ namespace ignite
* This method does not participate in any transactions, however, it may peek at transactional
* value depending on the peek modes used.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key.
* @param peekModes Peek modes.
* @return Value.
@@ -187,6 +219,8 @@ namespace ignite
* This method does not participate in any transactions, however, it may peek at transactional
* value depending on the peek modes used.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key.
* @param peekModes Peek modes.
* @param err Error.
@@ -209,6 +243,8 @@ namespace ignite
* will be loaded from persistent store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key.
* @return Value.
*/
@@ -230,6 +266,8 @@ namespace ignite
* will be loaded from persistent store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key.
* @param err Error.
* @return Value.
@@ -251,6 +289,8 @@ namespace ignite
* will be loaded from persistent store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys.
* @return Map of key-value pairs.
*/
@@ -272,6 +312,8 @@ namespace ignite
* will be loaded from persistent store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys.
* @param err Error.
* @return Map of key-value pairs.
@@ -291,6 +333,8 @@ namespace ignite
* If the cache previously contained a mapping for the key,
* the old value is replaced by the specified value.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
*/
@@ -308,6 +352,8 @@ namespace ignite
* If the cache previously contained a mapping for the key,
* the old value is replaced by the specified value.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @param err Error.
@@ -324,6 +370,8 @@ namespace ignite
* If write-through is enabled, the stored values will be persisted to store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param vals Key-value pairs to store in cache.
*/
void PutAll(const std::map<K, V>& vals)
@@ -340,6 +388,8 @@ namespace ignite
* If write-through is enabled, the stored values will be persisted to store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param vals Key-value pairs to store in cache.
* @param err Error.
*/
@@ -354,6 +404,8 @@ namespace ignite
* Associates the specified value with the specified key in this cache,
* returning an existing value if one existed.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @return The value associated with the key at the start of the
@@ -374,6 +426,8 @@ namespace ignite
* Associates the specified value with the specified key in this cache,
* returning an existing value if one existed.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @param err Error.
@@ -394,6 +448,8 @@ namespace ignite
* Atomically replaces the value for a given key if and only if there is
* a value currently mapped by the key.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @return The previous value associated with the specified key, or
@@ -414,6 +470,8 @@ namespace ignite
* Atomically replaces the value for a given key if and only if there is
* a value currently mapped by the key.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @param err Error.
@@ -433,6 +491,8 @@ namespace ignite
/**
* Atomically removes the entry for a key only if currently mapped to some value.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is associated.
* @return The value if one existed or null if no mapping existed for this key.
*/
@@ -450,6 +510,8 @@ namespace ignite
/**
* Atomically removes the entry for a key only if currently mapped to some value.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is associated.
* @param err Error.
* @return The value if one existed or null if no mapping existed for this key.
@@ -468,6 +530,8 @@ namespace ignite
* Atomically associates the specified key with the given value if it is not
* already associated with a value.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @return True if a value was set.
@@ -487,6 +551,8 @@ namespace ignite
* Atomically associates the specified key with the given value if it is not
* already associated with a value.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key with which the specified value is to be associated.
* @param val Value to be associated with the specified key.
* @param err Error.
@@ -510,6 +576,8 @@ namespace ignite
* If write-through is enabled, the stored value will be persisted to store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to store in cache.
* @param val Value to be associated with the given key.
* @return Previously contained value regardless of whether put happened or not
@@ -537,6 +605,8 @@ namespace ignite
* If write-through is enabled, the stored value will be persisted to store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to store in cache.
* @param val Value to be associated with the given key.
* @param err Error.
@@ -562,6 +632,8 @@ namespace ignite
* If write-through is enabled, the stored value will be persisted to store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to store in cache.
* @param val Value to be associated with the given key.
* @return True if the value was replaced.
@@ -586,6 +658,8 @@ namespace ignite
* If write-through is enabled, the stored value will be persisted to store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to store in cache.
* @param val Value to be associated with the given key.
* @param err Error.
@@ -603,6 +677,8 @@ namespace ignite
* old value passed as argument.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to store in cache.
* @param oldVal Old value to match.
* @param newVal Value to be associated with the given key.
@@ -624,6 +700,8 @@ namespace ignite
* old value passed as argument.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to store in cache.
* @param oldVal Old value to match.
* @param newVal Value to be associated with the given key.
@@ -638,8 +716,12 @@ namespace ignite
}
/**
- * Attempts to evict all entries associated with keys. Note, that entry will be evicted only
- * if it's not used (not participating in any locks or transactions).
+ * Attempts to evict all entries associated with keys.
+ *
+ * @note Entry will be evicted only if it's not used (not
+ * participating in any locks or transactions).
+ *
+ * This method should only be used on the valid instance.
*
* @param keys Keys to evict from cache.
*/
@@ -653,8 +735,12 @@ namespace ignite
}
/**
- * Attempts to evict all entries associated with keys. Note, that entry will be evicted only
- * if it's not used (not participating in any locks or transactions).
+ * Attempts to evict all entries associated with keys.
+ *
+ * @note Entry will be evicted only if it's not used (not
+ * participating in any locks or transactions).
+ *
+ * This method should only be used on the valid instance.
*
* @param keys Keys to evict from cache.
* @param err Error.
@@ -668,6 +754,8 @@ namespace ignite
/**
* Clear cache.
+ *
+ * This method should only be used on the valid instance.
*/
void Clear()
{
@@ -681,6 +769,8 @@ namespace ignite
/**
* Clear cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param err Error.
*/
void Clear(IgniteError& err)
@@ -692,6 +782,8 @@ namespace ignite
* Clear entry from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to clear.
*/
void Clear(const K& key)
@@ -707,6 +799,8 @@ namespace ignite
* Clear entry from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to clear.
* @param err Error.
*/
@@ -721,6 +815,8 @@ namespace ignite
* Clear entries from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys to clear.
*/
void ClearAll(const std::set<K>& keys)
@@ -736,6 +832,8 @@ namespace ignite
* Clear entries from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys to clear.
* @param err Error.
*/
@@ -749,9 +847,12 @@ namespace ignite
/**
* Clear entry from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
- * Note that this operation is local as it merely clears an entry from local cache, it does not
+ *
+ * @note This operation is local as it merely clears an entry from local cache, it does not
* remove entries from remote caches.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to clear.
*/
void LocalClear(const K& key)
@@ -766,9 +867,12 @@ namespace ignite
/**
* Clear entry from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
- * Note that this operation is local as it merely clears an entry from local cache, it does not
+ *
+ * @note This operation is local as it merely clears an entry from local cache, it does not
* remove entries from remote caches.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key to clear.
* @param err Error.
*/
@@ -782,9 +886,12 @@ namespace ignite
/**
* Clear entries from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
- * Note that this operation is local as it merely clears entries from local cache, it does not
+ *
+ * @note This operation is local as it merely clears entries from local cache, it does not
* remove entries from remote caches.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys to clear.
*/
void LocalClearAll(const std::set<K>& keys)
@@ -799,9 +906,12 @@ namespace ignite
/**
* Clear entries from the cache and swap storage, without notifying listeners or CacheWriters.
* Entry is cleared only if it is not currently locked, and is not participating in a transaction.
- * Note that this operation is local as it merely clears entries from local cache, it does not
+ *
+ * @note This operation is local as it merely clears entries from local cache, it does not
* remove entries from remote caches.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys to clear.
* @param err Error.
*/
@@ -822,6 +932,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key whose mapping is to be removed from cache.
* @return False if there was no matching key.
*/
@@ -846,6 +958,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key whose mapping is to be removed from cache.
* @param err Error.
* @return False if there was no matching key.
@@ -862,6 +976,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key whose mapping is to be removed from cache.
* @param val Value to match against currently cached value.
* @return True if entry was removed, false otherwise.
@@ -882,6 +998,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param key Key whose mapping is to be removed from cache.
* @param val Value to match against currently cached value.
* @param err Error.
@@ -899,6 +1017,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys whose mappings are to be removed from cache.
*/
void RemoveAll(const std::set<K>& keys)
@@ -915,6 +1035,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param keys Keys whose mappings are to be removed from cache.
* @param err Error.
*/
@@ -930,6 +1052,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param err Error.
*/
void RemoveAll()
@@ -946,6 +1070,8 @@ namespace ignite
* If write-through is enabled, the value will be removed from store.
* This method is transactional and will enlist the entry into ongoing transaction if there is one.
*
+ * This method should only be used on the valid instance.
+ *
* @param err Error.
*/
void RemoveAll(IgniteError& err)
@@ -956,6 +1082,8 @@ namespace ignite
/**
* Gets the number of all entries cached on this node.
*
+ * This method should only be used on the valid instance.
+ *
* @return Cache size on this node.
*/
int32_t LocalSize()
@@ -966,6 +1094,8 @@ namespace ignite
/**
* Gets the number of all entries cached on this node.
*
+ * This method should only be used on the valid instance.
+ *
* @param err Error.
* @return Cache size on this node.
*/
@@ -977,6 +1107,8 @@ namespace ignite
/**
* Gets the number of all entries cached on this node.
*
+ * This method should only be used on the valid instance.
+ *
* @param Peek modes.
* @return Cache size on this node.
*/
@@ -994,6 +1126,8 @@ namespace ignite
/**
* Gets the number of all entries cached on this node.
*
+ * This method should only be used on the valid instance.
+ *
* @param Peek modes.
* @param err Error.
* @return Cache size on this node.
@@ -1005,7 +1139,9 @@ namespace ignite
/**
* Gets the number of all entries cached across all nodes.
- * NOTE: this operation is distributed and will query all participating nodes for their cache sizes.
+ * @note this operation is distributed and will query all participating nodes for their cache sizes.
+ *
+ * This method should only be used on the valid instance.
*
* @return Cache size across all nodes.
*/
@@ -1016,7 +1152,9 @@ namespace ignite
/**
* Gets the number of all entries cached across all nodes.
- * NOTE: this operation is distributed and will query all participating nodes for their cache sizes.
+ * @note This operation is distributed and will query all participating nodes for their cache sizes.
+ *
+ * This method should only be used on the valid instance.
*
* @param err Error.
* @return Cache size across all nodes.
@@ -1028,7 +1166,9 @@ namespace ignite
/**
* Gets the number of all entries cached across all nodes.
- * NOTE: this operation is distributed and will query all participating nodes for their cache sizes.
+ * @note This operation is distributed and will query all participating nodes for their cache sizes.
+ *
+ * This method should only be used on the valid instance.
*
* @param Peek modes.
* @return Cache size across all nodes.
@@ -1046,7 +1186,9 @@ namespace ignite
/**
* Gets the number of all entries cached across all nodes.
- * NOTE: this operation is distributed and will query all participating nodes for their cache sizes.
+ * @note This operation is distributed and will query all participating nodes for their cache sizes.
+ *
+ * This method should only be used on the valid instance.
*
* @param Peek modes.
* @param err Error.
@@ -1060,6 +1202,8 @@ namespace ignite
/**
* Perform SQL query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @return Query cursor.
*/
@@ -1077,6 +1221,8 @@ namespace ignite
/**
* Perform SQL query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @param err Error.
* @return Query cursor.
@@ -1091,6 +1237,8 @@ namespace ignite
/**
* Perform text query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @return Query cursor.
*/
@@ -1108,6 +1256,8 @@ namespace ignite
/**
* Perform text query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @param err Error.
* @return Query cursor.
@@ -1122,6 +1272,8 @@ namespace ignite
/**
* Perform scan query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @return Query cursor.
*/
@@ -1139,6 +1291,8 @@ namespace ignite
/**
* Perform scan query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @param err Error.
* @return Query cursor.
@@ -1153,6 +1307,8 @@ namespace ignite
/**
* Perform sql fields query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @return Query cursor.
*/
@@ -1170,6 +1326,8 @@ namespace ignite
/**
* Perform sql fields query.
*
+ * This method should only be used on the valid instance.
+ *
* @param qry Query.
* @param err Error.
* @return Query cursor.
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/cache_entry.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/cache_entry.h b/modules/platforms/cpp/core/include/ignite/cache/cache_entry.h
index f709650..9810600 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/cache_entry.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/cache_entry.h
@@ -30,7 +30,7 @@ namespace ignite
namespace cache
{
/**
- * Cache entry class template.
+ * %Cache entry class template.
*
* Both key and value types should be default-constructable,
* copy-constructable and assignable.
@@ -67,10 +67,10 @@ namespace ignite
*
* @param other Other instance.
*/
- CacheEntry(const CacheEntry& other)
+ CacheEntry(const CacheEntry& other) :
+ key(other.key), val(other.val)
{
- key = other.key;
- val = other.val;
+ // No-op.
}
/**
@@ -82,10 +82,8 @@ namespace ignite
{
if (this != &other)
{
- CacheEntry tmp(other);
-
- std::swap(key, tmp.key);
- std::swap(val, tmp.val);
+ key = other.key;
+ val = other.val;
}
return *this;
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_argument.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_argument.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_argument.h
index 933bd60..65578ce 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_argument.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_argument.h
@@ -27,11 +27,11 @@
#include "ignite/binary/binary_raw_writer.h"
namespace ignite
-{
+{
namespace cache
{
namespace query
- {
+ {
/**
* Base class for all query arguments.
*/
@@ -49,18 +49,24 @@ namespace ignite
/**
* Copy argument.
*
- * @return Copy.
+ * @return Copy of this argument instance.
*/
virtual QueryArgumentBase* Copy() const = 0;
/**
- * Write argument.
+ * Write argument using provided writer.
+ *
+ * @param writer Writer to use to write this argument.
*/
virtual void Write(ignite::binary::BinaryRawWriter& writer) = 0;
};
/**
- * Query argument.
+ * Query argument class template.
+ *
+ * Template argument type should be copy-constructable and
+ * assignable. Also BinaryType class template should be specialized
+ * for this type.
*/
template<typename T>
class QueryArgument : public QueryArgumentBase
@@ -71,7 +77,8 @@ namespace ignite
*
* @param val Value.
*/
- QueryArgument(const T& val) : val(val)
+ QueryArgument(const T& val) :
+ val(val)
{
// No-op.
}
@@ -81,26 +88,22 @@ namespace ignite
*
* @param other Other instance.
*/
- QueryArgument(const QueryArgument& other)
+ QueryArgument(const QueryArgument& other) :
+ val(other.val)
{
- val = other.val;
+ // No-op.
}
/**
* Assignment operator.
*
* @param other Other instance.
+ * @return *this.
*/
QueryArgument& operator=(const QueryArgument& other)
{
if (this != &other)
- {
- QueryArgument tmp(other);
-
- T val0 = val;
- val = tmp.val;
- tmp.val = val0;
- }
+ val = other.val;
return *this;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_cursor.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_cursor.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_cursor.h
index 45eb54a..4c46662 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_cursor.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_cursor.h
@@ -42,7 +42,13 @@ namespace ignite
* Query cursor class template.
*
* Both key and value types should be default-constructable,
- * copy-constructable and assignable.
+ * copy-constructable and assignable. Also BinaryType class
+ * template should be specialized for both types.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object. Underlying object released automatically once all
+ * the instances are destructed.
*/
template<typename K, typename V>
class QueryCursor
@@ -73,11 +79,12 @@ namespace ignite
/**
* Check whether next entry exists.
- * Throws IgniteError class instance in case of failure.
*
* This method should only be used on the valid instance.
*
* @return True if next entry exists.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
bool HasNext()
{
@@ -117,11 +124,12 @@ namespace ignite
/**
* Get next entry.
- * Throws IgniteError class instance in case of failure.
*
* This method should only be used on the valid instance.
*
* @return Next entry.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
CacheEntry<K, V> GetNext()
{
@@ -175,11 +183,12 @@ namespace ignite
/**
* Get all entries.
- * Throws IgniteError class instance in case of failure.
*
* This method should only be used on the valid instance.
*
* @param Vector where query entries will be stored.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
void GetAll(std::vector<CacheEntry<K, V>>& res)
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_cursor.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_cursor.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_cursor.h
index 3952ece..3946e1c 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_cursor.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_cursor.h
@@ -41,6 +41,11 @@ namespace ignite
{
/**
* Query fields cursor.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object. Underlying object released automatically once all
+ * the instances are destructed.
*/
class QueryFieldsCursor
{
@@ -70,11 +75,12 @@ namespace ignite
/**
* Check whether next entry exists.
- * Throws IgniteError class instance in case of failure.
*
* This method should only be used on the valid instance.
*
* @return True if next entry exists.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
bool HasNext()
{
@@ -114,11 +120,12 @@ namespace ignite
/**
* Get next entry.
- * Throws IgniteError class instance in case of failure.
*
* This method should only be used on the valid instance.
*
* @return Next entry.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
QueryFieldsRow GetNext()
{
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_row.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_row.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_row.h
index 521da76..d3ac2de 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_row.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_fields_row.h
@@ -40,6 +40,11 @@ namespace ignite
{
/**
* Query fields cursor.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object. Underlying object released automatically once all
+ * the instances are destructed.
*/
class QueryFieldsRow
{
@@ -47,8 +52,7 @@ namespace ignite
/**
* Default constructor.
*
- * Constructed instance is not valid and thus can not be used
- * as a cursor.
+ * Constructed instance is not valid and thus can not be used.
*/
QueryFieldsRow() : impl(0)
{
@@ -69,11 +73,12 @@ namespace ignite
/**
* Check whether next entry exists.
- * Throws IgniteError class instance in case of failure.
*
* This method should only be used on the valid instance.
*
* @return True if next entry exists.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
bool HasNext()
{
@@ -113,11 +118,16 @@ namespace ignite
/**
* Get next entry.
- * Throws IgniteError class instance in case of failure.
+ *
+ * Template argument type should be default-constructable,
+ * copy-constructable and assignable. Also BinaryType class
+ * template should be specialized for this type.
*
* This method should only be used on the valid instance.
*
* @return Next entry.
+ *
+ * @throw IgniteError class instance in case of failure.
*/
template<typename T>
T GetNext()
@@ -135,6 +145,10 @@ namespace ignite
* Get next entry.
* Properly sets error param in case of failure.
*
+ * Template argument type should be default-constructable,
+ * copy-constructable and assignable. Also BinaryType class
+ * template should be specialized for this type.
+ *
* This method should only be used on the valid instance.
*
* @param err Used to set operation result.
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_scan.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_scan.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_scan.h
index d4dd565..4228ba5 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_scan.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_scan.h
@@ -29,11 +29,11 @@
#include "ignite/binary/binary_raw_writer.h"
namespace ignite
-{
+{
namespace cache
{
namespace query
- {
+ {
/**
* Scan query.
*/
@@ -47,7 +47,7 @@ namespace ignite
{
// No-op.
}
-
+
/**
* Constructor.
*
@@ -57,7 +57,7 @@ namespace ignite
{
// No-op.
}
-
+
/**
* Get partition to scan.
*
@@ -117,7 +117,7 @@ namespace ignite
{
this->loc = loc;
}
-
+
/**
* Write query info to the stream.
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
index d80fa51..f7a00fa 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql.h
@@ -31,11 +31,11 @@
#include "ignite/binary/binary_raw_writer.h"
namespace ignite
-{
+{
namespace cache
{
namespace query
- {
+ {
/**
* Sql query.
*/
@@ -48,8 +48,8 @@ namespace ignite
* @param type Type name.
* @param sql SQL string.
*/
- SqlQuery(const std::string& type, const std::string& sql) : type(type), sql(sql), pageSize(1024),
- loc(false), args()
+ SqlQuery(const std::string& type, const std::string& sql)
+ : type(type), sql(sql), pageSize(1024), loc(false), args()
{
// No-op.
}
@@ -59,7 +59,8 @@ namespace ignite
*
* @param other Other instance.
*/
- SqlQuery(const SqlQuery& other) : type(other.type), sql(other.sql), pageSize(other.pageSize),
+ SqlQuery(const SqlQuery& other) :
+ type(other.type), sql(other.sql), pageSize(other.pageSize),
loc(other.loc), args()
{
args.reserve(other.args.size());
@@ -199,6 +200,10 @@ namespace ignite
/**
* Add argument.
*
+ * Template argument type should be copy-constructable and
+ * assignable. Also BinaryType class template should be specialized
+ * for this type.
+ *
* @param arg Argument.
*/
template<typename T>
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
index 4792d34..e21fc93 100644
--- a/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
+++ b/modules/platforms/cpp/core/include/ignite/cache/query/query_sql_fields.h
@@ -47,7 +47,8 @@ namespace ignite
*
* @param sql SQL string.
*/
- SqlFieldsQuery(const std::string& sql) : sql(sql), pageSize(1024), loc(false), args()
+ SqlFieldsQuery(const std::string& sql) :
+ sql(sql), pageSize(1024), loc(false), args()
{
// No-op.
}
@@ -58,7 +59,8 @@ namespace ignite
* @param sql SQL string.
* @param loc Whether query should be executed locally.
*/
- SqlFieldsQuery(const std::string& sql, bool loc) : sql(sql), pageSize(1024), loc(false), args()
+ SqlFieldsQuery(const std::string& sql, bool loc) :
+ sql(sql), pageSize(1024), loc(false), args()
{
// No-op.
}
@@ -68,7 +70,8 @@ namespace ignite
*
* @param other Other instance.
*/
- SqlFieldsQuery(const SqlFieldsQuery& other) : sql(other.sql), pageSize(other.pageSize), loc(other.loc),
+ SqlFieldsQuery(const SqlFieldsQuery& other) :
+ sql(other.sql), pageSize(other.pageSize), loc(other.loc),
args()
{
args.reserve(other.args.size());
@@ -106,7 +109,7 @@ namespace ignite
for (std::vector<QueryArgumentBase*>::iterator it = args.begin(); it != args.end(); ++it)
delete *it;
}
-
+
/**
* Get SQL string.
*
@@ -170,6 +173,10 @@ namespace ignite
/**
* Add argument.
*
+ * Template argument type should be copy-constructable and
+ * assignable. Also BinaryType class template should be specialized
+ * for this type.
+ *
* @param arg Argument.
*/
template<typename T>
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/ignite.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/ignite.h b/modules/platforms/cpp/core/include/ignite/ignite.h
index e4f9208..311dff2 100644
--- a/modules/platforms/cpp/core/include/ignite/ignite.h
+++ b/modules/platforms/cpp/core/include/ignite/ignite.h
@@ -31,7 +31,12 @@
namespace ignite
{
/**
- * Main interface to operate with Ignite.
+ * Main interface to operate with %Ignite.
+ *
+ * This class implemented as a reference to an implementation so copying
+ * of this class instance will only create another reference to the same
+ * underlying object. Underlying object released automatically once all
+ * the instances are destructed.
*/
class IGNITE_IMPORT_EXPORT Ignite
{
@@ -57,6 +62,8 @@ namespace ignite
/**
* Get cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param name Cache name.
* @return Cache.
*/
@@ -75,6 +82,8 @@ namespace ignite
/**
* Get cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param name Cache name.
* @param err Error;
* @return Cache.
@@ -90,6 +99,8 @@ namespace ignite
/**
* Get or create cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param name Cache name.
* @return Cache.
*/
@@ -108,6 +119,8 @@ namespace ignite
/**
* Get or create cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param name Cache name.
* @param err Error;
* @return Cache.
@@ -123,6 +136,8 @@ namespace ignite
/**
* Create cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param name Cache name.
* @return Cache.
*/
@@ -141,6 +156,8 @@ namespace ignite
/**
* Create cache.
*
+ * This method should only be used on the valid instance.
+ *
* @param name Cache name.
* @param err Error;
* @return Cache.
@@ -156,6 +173,8 @@ namespace ignite
/**
* Get transactions.
*
+ * This method should only be used on the valid instance.
+ *
* @return Transaction class instance.
*/
transactions::Transactions GetTransactions();
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/ignite_configuration.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/ignite_configuration.h b/modules/platforms/cpp/core/include/ignite/ignite_configuration.h
index ee59c11..65c4550 100644
--- a/modules/platforms/cpp/core/include/ignite/ignite_configuration.h
+++ b/modules/platforms/cpp/core/include/ignite/ignite_configuration.h
@@ -32,7 +32,7 @@
namespace ignite
{
/**
- * Ignite configuration.
+ * %Ignite configuration.
*/
struct IgniteConfiguration
{
@@ -58,7 +58,7 @@ namespace ignite
std::list<std::string> jvmOpts;
/**
- * Constructor.
+ * Default constructor.
*/
IgniteConfiguration() : igniteHome(), springCfgPath(), jvmLibPath(), jvmClassPath(),
jvmInitMem(512), jvmMaxMem(1024), jvmOpts()
http://git-wip-us.apache.org/repos/asf/ignite/blob/93445607/modules/platforms/cpp/core/include/ignite/ignition.h
----------------------------------------------------------------------
diff --git a/modules/platforms/cpp/core/include/ignite/ignition.h b/modules/platforms/cpp/core/include/ignite/ignition.h
index 31f5b0b..f88efe5 100644
--- a/modules/platforms/cpp/core/include/ignite/ignition.h
+++ b/modules/platforms/cpp/core/include/ignite/ignition.h
@@ -31,7 +31,7 @@
namespace ignite
{
/**
- * This class defines a factory for the main Ignite API.
+ * This class defines a factory for the main %Ignite API.
*/
class IGNITE_IMPORT_EXPORT Ignition
{