Remove dynamic exceptions
[anna.git] / include / anna / core / DataBlock.hpp
index beac8c5..259eb38 100644 (file)
@@ -30,7 +30,7 @@ public:
     cualquier otro bloque de memoria a este, se reserva (si fuese necesario) la memoria para ubicar el
     buffer y despues realizara una copia byte a byte.
   */
-  explicit DataBlock(const bool deepCopy = false) throw() :
+  explicit DataBlock(const bool deepCopy = false)  :
     a_buffer(NULL),
     a_size(0),
     a_deepCopy(deepCopy),
@@ -45,7 +45,7 @@ public:
     cualquier otro bloque de memoria a este, se reserva la memoria para ubicar el buffer y despues
     realizara una copia byte a byte.
   */
-  DataBlock(const char* buffer, const int size, const bool deepCopy = false) throw(RuntimeException);
+  DataBlock(const char* buffer, const int size, const bool deepCopy = false) noexcept(false);
 
   /**
     Constructor copia.
@@ -53,7 +53,7 @@ public:
 
     @param other Bloque de memoria con el que instanciar esta instancia.
   */
-  DataBlock(const DataBlock& other) throw(RuntimeException);
+  DataBlock(const DataBlock& other) noexcept(false);
 
   /**
      Destructor.
@@ -67,7 +67,7 @@ public:
 
      @return Tamaño de la memoria reservada por esta instancia.
   */
-  int getMaxSize() const throw() { return a_maxSize; }
+  int getMaxSize() const { return a_maxSize; }
 
   /**
      Éste metodo solo debe usarse en aplicaciones mono-thread o en situaciones en las que estemos seguros
@@ -75,7 +75,7 @@ public:
 
      @return Tamaño del bloque de memoria contenido actualmente.
   */
-  int getSize() const throw() { return a_size; }
+  int getSize() const { return a_size; }
 
   /**
      Éste metodo solo debe usarse en aplicaciones mono-thread o en situaciones en las que estemos seguros
@@ -83,28 +83,28 @@ public:
 
      @return El contenido del bloque de memoria.
   */
-  const char* getData() const throw() { return a_buffer; }
+  const char* getData() const { return a_buffer; }
 
   /**
      Devuelve informacion acerca del estado de ocupacion de este bloque de memoria.
 
     @return \em true si el bloque de memoria esta vacio o \em false en otro caso.
   */
-  bool isEmpty() const throw() { return (a_size == 0) ? true : false; }
+  bool isEmpty() const { return (a_size == 0) ? true : false; }
 
   /**
      Devuelve informacion acerca de la configuracion de reserva de memoria de este bloque.
 
      @return @em true si el bloque de memoria tiene activado el sistema de copia profunda o @em false en otro caso.
   */
-  bool deepCopy() const throw() { return a_deepCopy; }
+  bool deepCopy() const { return a_deepCopy; }
 
   /**
      Establece el numero de bytes que tiene asociado a este bloque de datos.
      \param size numero de bytes que tiene asociado a este bloque de datos.
      \warning El DataBlock delega la gestion de la memoria a la clase heredada.
   */
-  void setSize(const int size) throw(RuntimeException);
+  void setSize(const int size) noexcept(false);
 
   /**
     Anade el caracter recibido al bloque de memoria. Para poder usar este operador el bloque de
@@ -115,7 +115,7 @@ public:
 
     @returns Una referencia a si mismo.
   */
-  DataBlock& operator += (const char c) throw(RuntimeException) {
+  DataBlock& operator += (const char c) noexcept(false) {
     append(&c, sizeof(c));
     return *this;
   }
@@ -129,7 +129,7 @@ public:
 
     @returns Una referencia a si mismo.
   */
-  DataBlock& operator += (const DataBlock& right) throw(RuntimeException) {
+  DataBlock& operator += (const DataBlock& right) noexcept(false) {
     if(this != &right)
       append(right.a_buffer, right.a_size);
 
@@ -145,7 +145,7 @@ public:
 
     @returns Una referencia a si mismo.
   */
-  DataBlock& operator += (const std::string& str) throw(RuntimeException) {
+  DataBlock& operator += (const std::string& str) noexcept(false) {
     append(str.c_str(), str.length());
     return *this;
   }
@@ -155,14 +155,14 @@ public:
      \param pos Posicion a la que acceder.
      \return La posicion i-esima del bloque de datos.
   */
-  const char operator [](const int pos) const throw(RuntimeException);
+  const char operator [](const int pos) const noexcept(false);
 
   /**
      Devuelve la posicion i-esima del bloque de datos.
      \param pos Posicion a la que acceder.
      \return La posicion i-esima del bloque de datos.
   */
-  char& operator [](const int pos) throw(RuntimeException);
+  char& operator [](const int pos) noexcept(false);
 
   /**
      Anade el bloque de memoria recibido. Para poder usar este operador el bloque de memoria
@@ -172,7 +172,7 @@ public:
      \param data Direccion donde comienza el bloque de datos.
      \param len Longitud del bloque de datos.
   */
-  void append(const char* data, const int len) throw(RuntimeException);
+  void append(const char* data, const int len) noexcept(false);
 
   /**
      Anade el bloque de memoria recibido. Para poder usar este operador el bloque de memoria
@@ -181,14 +181,14 @@ public:
 
      \param other Bloque de memoria a añadir.
   */
-  void append(const DataBlock& other) throw(RuntimeException) { append(other.a_buffer, other.a_size); }
+  void append(const DataBlock& other) noexcept(false) { append(other.a_buffer, other.a_size); }
 
   /**
     Copia el contenido del bloque recibido como parámetro.
     @param right Bloque de memoria del que copiar.
     @returns Una referencia a si mismo.
   */
-  void assign(const DataBlock& right) throw(RuntimeException) { *this = right; }
+  void assign(const DataBlock& right) noexcept(false) { *this = right; }
 
   /**
     Copia o direcciona el contenido del bloque recibido como parámetro.
@@ -196,7 +196,7 @@ public:
     \param size Tamaño de la memoria.
     @returns Una referencia a si mismo.
   */
-  void assign(const char* buffer, const int size) throw(RuntimeException);
+  void assign(const char* buffer, const int size) noexcept(false);
 
   /**
     operador copia. El modo de copiar vendra definido por el modo copia con el que hayamos
@@ -204,7 +204,7 @@ public:
     @param right Bloque de memoria del que copiar.
     @returns Una referencia a si mismo.
   */
-  DataBlock& operator = (const DataBlock& right) throw(RuntimeException);
+  DataBlock& operator = (const DataBlock& right) noexcept(false);
 
   /**
     Operador de inicializacion. El bloque destino debera tener activado el sistema de
@@ -212,7 +212,7 @@ public:
     @param c Caracter con el que vamos a inicializar el contenido del bloque.
     @returns Una referencia a si mismo.
   */
-  DataBlock& operator = (const char c) throw(RuntimeException) { clear(); (*this) += c; return *this; }
+  DataBlock& operator = (const char c) noexcept(false) { clear(); (*this) += c; return *this; }
 
   /**
     Operador de inicializacion. El bloque destino debera tener activado el sistema de
@@ -220,7 +220,7 @@ public:
     @param str Cadena con el que vamos a inicializar el contenido del bloque.
     @returns Una referencia a si mismo.
   */
-  DataBlock& operator = (const std::string& str) throw(RuntimeException) { clear(); (*this) += str; return *this; }
+  DataBlock& operator = (const std::string& str) noexcept(false) { clear(); (*this) += str; return *this; }
 
   // Metodos
   /**
@@ -229,7 +229,7 @@ public:
 
      @param nbytes Numero de bytes a reservar.
   */
-  void allocate(const int nbytes) throw(RuntimeException);
+  void allocate(const int nbytes) noexcept(false);
 
   /**
     La reserva de memoria actual pasa a ser memoria pre-asignada, asi libera el bloque
@@ -237,7 +237,7 @@ public:
     ser necesario puede reutilizarlo sin tener que volver a realizar una llamada al
     sistema para obtener memoria dinamica.
   */
-  void clear() throw(RuntimeException) { a_size = 0; }
+  void clear() noexcept(false) { a_size = 0; }
 
   /**
      Elimina del bloque de memoria unos determinados bytes.
@@ -245,18 +245,18 @@ public:
      @param pos Posicion del bloque donde empezar a eliminar.
      @param nbytes Numero de bytes a descartar a partir de la posicion indicada.
   */
-  void remove(const int pos, const int nbytes) throw(RuntimeException);
+  void remove(const int pos, const int nbytes) noexcept(false);
 
   /**
      Elimina del bloque de memoria los n primeros bytes.
      @param nbytes Numero de bytes a descartar a partir de la posicion indicada.
   */
-  void remove(const int nbytes) throw(RuntimeException);
+  void remove(const int nbytes) noexcept(false);
 
   /**
    * Muestra el contenido de este buffer en forma de buffer hexadecimal vs bytes.
    */
-  std::string asString(const int characterByLine = 24) const throw();
+  std::string asString(const int characterByLine = 24) const ;
 
 protected:
   /**
@@ -267,21 +267,21 @@ protected:
      @param buffer Bloque de memoria con el que inicializar el buffer de esta instancia.
      @param size Numero de bytes del bloque de memoria recibido.
   */
-  void initialize(const char* buffer, const int size) throw(RuntimeException);
+  void initialize(const char* buffer, const int size) noexcept(false);
 
   /**
      Establece el espacio de memoria asociado a este bloque de datos.
      \param buffer Nuevo buffer de datos asociado a este bloque.
      \warning El DataBlock delega la gestion de la memoria a la clase heredada.
   */
-  void setBuffer(const char* buffer) throw() { a_buffer = (char*) buffer; }
+  void setBuffer(const char* buffer) { a_buffer = (char*) buffer; }
 
   /**
      Establece el numero de bytes que tiene reservados este bloque de datos.
      \param maxSize numero de bytes que tiene reservados este bloque de datos.
      \warning El DataBlock delega la gestion de la memoria a la clase heredada.
   */
-  void setMaxSize(const int maxSize) throw() { a_maxSize = maxSize; }
+  void setMaxSize(const int maxSize) { a_maxSize = maxSize; }
 
 private:
   char* a_buffer;
@@ -289,7 +289,7 @@ private:
   bool a_deepCopy;
   int a_maxSize;
 
-  void extend(const int nbytes) throw(RuntimeException);
+  void extend(const int nbytes) noexcept(false);
 };
 
 } //namespace anna