Remove dynamic exceptions
[anna.git] / source / core / util / TextComposer.cpp
index 69ff70c..8471655 100644 (file)
@@ -1,37 +1,9 @@
-// ANNA - Anna is Not Nothingness Anymore
-//
-// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo
-//
-// http://redmine.teslayout.com/projects/anna-suite
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions
-// are met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     *  Neither the name of the copyright holder nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Authors: eduardo.ramos.testillano@gmail.com
-//          cisco.tierra@gmail.com
+// ANNA - Anna is Not Nothingness Anymore                                                         //
+//                                                                                                //
+// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
+//                                                                                                //
+// See project site at http://redmine.teslayout.com/projects/anna-suite                           //
+// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
 
 
 #include <stdio.h>
@@ -72,7 +44,7 @@ TextComposer::~TextComposer() {
  *    var2 => nombre = variable2 => "%02d el resto"
  */
 void TextComposer::initialize()
-throw(RuntimeException) {
+noexcept(false) {
   Tokenizer variables(a_expression, "${");
   Tokenizer idAndText;
   Tokenizer nameAndFormat;
@@ -133,7 +105,7 @@ throw(RuntimeException) {
 }
 
 TextVariable* TextComposer::find(const char* name, const Exception::Mode::_v emode)
-throw(RuntimeException) {
+noexcept(false) {
   for(variable_iterator ii = begin(), maxii = end(); ii != maxii; ii ++) {
     if(anna_strcmp(textVariable(ii)->getName(), name) == 0)
       return textVariable(ii);
@@ -153,7 +125,7 @@ throw(RuntimeException) {
 }
 
 String TextComposer::apply() const
-throw(RuntimeException) {
+noexcept(false) {
   LOGMETHOD(TraceMethod ttmm(Logger::Local7, "TextComposer::apply", ANNA_FILE_LOCATION));
   String result;
 // No hace falta proteger porque sólo se podrá acceder desde el Protector
@@ -183,7 +155,7 @@ throw(RuntimeException) {
 }
 
 String TextComposer::asString() const
-throw() {
+{
   String result("TextComposer { Id: ");
   result << a_id;
   result << " | Expression: " << a_expression;
@@ -192,7 +164,7 @@ throw() {
 
 //static
 TextVariable::Type::_v TextComposer::calculeType(const char* format)
-throw(RuntimeException) {
+noexcept(false) {
   static const char* typeInteger = "[:digit:]*d";
   static const char* typeString = "[:digit:]*s";
   static const char* typeFloat = "([:digit:]*.[:digit:]|.[:digit:]*)f|f";