Added virtual destructor to silence warnings.

This commit is contained in:
zeekec 2006-02-21 11:05:15 +00:00
parent c307e0c32a
commit e5a757999f

View File

@ -1,23 +1,23 @@
/****************************************************************************** /******************************************************************************
* *
* file: Constraint.h * file: Constraint.h
* *
* Copyright (c) 2005, Michael E. Smoot * Copyright (c) 2005, Michael E. Smoot
* All rights reverved. * All rights reverved.
* *
* See the file COPYING in the top directory of this distribution for * See the file COPYING in the top directory of this distribution for
* more information. * more information.
* *
* THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS * THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE. * DEALINGS IN THE SOFTWARE.
* *
*****************************************************************************/ *****************************************************************************/
#ifndef TCLAP_CONSTRAINT_H #ifndef TCLAP_CONSTRAINT_H
#define TCLAP_CONSTRAINT_H #define TCLAP_CONSTRAINT_H
@ -32,15 +32,15 @@
namespace TCLAP { namespace TCLAP {
/** /**
* The interface that defines the interaction between the Arg and Constraint. * The interface that defines the interaction between the Arg and Constraint.
*/ */
template<class T> template<class T>
class Constraint class Constraint
{ {
public: public:
/** /**
* Returns a description of the Constraint. * Returns a description of the Constraint.
*/ */
virtual std::string description() const =0; virtual std::string description() const =0;
@ -52,11 +52,17 @@ class Constraint
/** /**
* The method used to verify that the value parsed from the command * The method used to verify that the value parsed from the command
* line meets the constraint. * line meets the constraint.
* \param value - The value that will be checked. * \param value - The value that will be checked.
*/ */
virtual bool check(const T& value) const =0; virtual bool check(const T& value) const =0;
/**
* Destructor.
* Silences warnings about Constraint being a base class with virtual
* functions but without a virtual destructor.
*/
virtual ~Constraint() { ; }
}; };
} //namespace TCLAP } //namespace TCLAP
#endif #endif