X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=packages%2Fstd%2Fsrc%2FbbstdVectorToString.h;h=a493ce6bb4a133b6dbfb35a20519c516bf461fb9;hb=9f98df479679f8d3f4d63986f1e8a9921853e2b9;hp=3c28ff1583e05cce812b7a8e4653e4127484a697;hpb=e27f49d94042bf18dc5067807594325eea8b6d56;p=bbtk.git diff --git a/packages/std/src/bbstdVectorToString.h b/packages/std/src/bbstdVectorToString.h index 3c28ff1..a493ce6 100644 --- a/packages/std/src/bbstdVectorToString.h +++ b/packages/std/src/bbstdVectorToString.h @@ -1,32 +1,61 @@ +/*========================================================================= + Program: bbtk + Module: $RCSfile: bbstdVectorToString.h,v $ + Language: C++ + Date: $Date: 2009/05/14 14:43:38 $ + 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. +* ------------------------------------------------------------------------ */ + + + #ifndef __bbstdVectorToString_INCLUDED_h__ #define __bbstdVectorToString_INCLUDED_h__ -#include "bbtkUserBlackBox.h" +#include "bbtkAtomicBlackBox.h" +#include "bbstd_EXPORT.h" namespace bbstd { - //================================================================= - // UserBlackBox declaration + // BlackBox declaration template - class VectorToString : public bbtk::UserBlackBox + class bbstd_EXPORT VectorToString : public bbtk::AtomicBlackBox { - BBTK_USER_BLACK_BOX_INTERFACE(VectorToString,bbtk::UserBlackBox); + BBTK_TEMPLATE_BLACK_BOX_INTERFACE(VectorToString,bbtk::AtomicBlackBox,T); BBTK_DECLARE_INPUT(In,std::vector); BBTK_DECLARE_INPUT(Separator,std::string); BBTK_DECLARE_OUTPUT(Out,std::string); BBTK_PROCESS(DoIt); void DoIt(); - virtual void bbUserConstructor(); }; //================================================================= - - - + //================================================================= - // UserBlackBox description - BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(VectorToString); - BBTK_NAME(bbtk::TypeName >()+"ToString"); + // BlackBox description + BBTK_BEGIN_DESCRIBE_TEMPLATE_BLACK_BOX(VectorToString,bbtk::AtomicBlackBox); + BBTK_NAME(bbtk::HumanTypeName >()+"ToString"); BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr"); BBTK_DEFAULT_ADAPTOR(); BBTK_DESCRIPTION("Converts the content of the input vector ("+bbtk::TypeName >()+") to a string in which each item is separated by the value of the input 'Separator'"); @@ -36,34 +65,42 @@ namespace bbstd BBTK_TEMPLATE_OUTPUT(VectorToString, Out,"Output",std::string); BBTK_END_DESCRIBE_TEMPLATE_BLACK_BOX(VectorToString); //================================================================= - - - //================================================================= + //================================================================= template void VectorToString::DoIt() { std::string out; typename std::vector::const_iterator i; for (i=bbmInputIn.begin();i!=bbmInputIn.end();++i) - { - if (i!=bbmInputIn.begin()) out += bbGetInputSeparator(); - std::ostringstream s; - s << *i; - out += s.str(); - } + { + if (i!=bbmInputIn.begin()) + out += bbGetInputSeparator(); + std::ostringstream s; + s << *i; + out += s.str(); + } bbSetOutputOut(out); } //================================================================= - - //================================================================= + + //================================================================= template - void VectorToString::bbUserConstructor() + void VectorToString::bbUserSetDefaultValues() { bbSetInputSeparator(" "); } //================================================================= - + template + void VectorToString::bbUserInitializeProcessing() + { + } + //================================================================= + template + void VectorToString::bbUserFinalizeProcessing() + { + } + //================================================================= } // namespace bbstd #endif //__bbstdVectorToString_INCLUDED_h__