X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fsrc%2FbbtkAny.h;h=71edc872f423209239dde51d298720b0329c72b0;hb=7f5062112812aade4d10f1f2a3cf21abb3eb750e;hp=9fbc9e732c088bfa6ea21d7bd1faa32626f75b50;hpb=c7a94dfa5f48e30bb931b45bd6d7c42954ad9ed5;p=bbtk.git diff --git a/kernel/src/bbtkAny.h b/kernel/src/bbtkAny.h index 9fbc9e7..71edc87 100644 --- a/kernel/src/bbtkAny.h +++ b/kernel/src/bbtkAny.h @@ -1,55 +1,39 @@ -/*========================================================================= +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la SantÈ) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + + +/*========================================================================= Program: bbtk Module: $RCSfile: bbtkAny.h,v $ Language: C++ - Date: $Date: 2009/01/07 13:08:19 $ - Version: $Revision: 1.6 $ + Date: $Date: 2012/11/16 08:49:01 $ + Version: $Revision: 1.9 $ =========================================================================*/ + -/* --------------------------------------------------------------------- - -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* This software is governed by the CeCILL-B license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL-B -* license as circulated by CEA, CNRS and INRIA at the following URL -* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -* or in the file LICENSE.txt. -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited -* liability. -* -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL-B license and that you accept its terms. -* ------------------------------------------------------------------------ */ - - -/* --------------------------------------------------------------------- - -* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale) -* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux -* -* This software is governed by the CeCILL-B license under French law and -* abiding by the rules of distribution of free software. You can use, -* modify and/ or redistribute the software under the terms of the CeCILL-B -* license as circulated by CEA, CNRS and INRIA at the following URL -* http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -* or in the file LICENSE.txt. -* -* As a counterpart to the access to the source code and rights to copy, -* modify and redistribute granted by the license, users are provided only -* with a limited warranty and the software's author, the holder of the -* economic rights, and the successive licensors have only limited -* liability. -* -* The fact that you are presently reading this means that you have had -* knowledge of the CeCILL-B license and that you accept its terms. -* ------------------------------------------------------------------------ */ /** *\file @@ -333,7 +317,7 @@ namespace bbtk /// Returns true iff the contained type is a pointer inline bool contains_pointer() { - return content->is_pointer() ; + return content ? content->is_pointer() : false; } /// Returns true iff the contained type is t @@ -360,9 +344,18 @@ namespace bbtk <<"> with content : " < *>(content)->held; - + printf("EED bbtkAny get() self=%s \n" , HumanTypeName().c_str() ); + printf("EED bbtkAny get() ValueType=%s \n" , bbtk::HumanTypeName().c_str() ); + printf("EED bbtkAny get() Type=%s \n" , bbtk::HumanTypeName<>(type()).c_str() ); + printf("EED bbtkAny get() type name=(-%s-) \n" , type().name() ); + printf("EED bbtkAny get() ValueType name=(-%s-) \n" , typeid(ValueType).name() ); +// 2021-12-15 + if ( strcmp( type().name() , typeid(ValueType).name() ) ==0 ) +// if ( type() == typeid(ValueType) ) + { + return static_cast< anyholder *>(content)->held; + } + bbtkError(HumanTypeName() <<" get with type <" <()