<commit_before>/**
 * Class CCopasiContainer
 *
 * This class is the is used to group CCopasiObjects logically. It inself is 
 * an object. Contained objects are still globally accessible.
 *
 * Copyright <NAME> 2002
 */

#ifndef COPASI_CCopasiContainer
#define COPASI_CCopasiContainer

#include <vector>
#include "CCopasiObject.h"

/** @dia:pos 23.7081,50.8343 */
/** @dia:route CCopasiObject; v,60.054,22.7537,47.9048,40.5521,50.8343 */
class CCopasiContainer: public CCopasiObject
  {
    friend CCopasiObject::CCopasiObject(const std::string & name,
                                        const CCopasiContainer * pParent,
                                        const std::string & type,
                                        const unsigned C_INT32 & flag);

    friend CCopasiObject::CCopasiObject(const CCopasiObject & src,
                                        const CCopasiContainer * pParent);

    friend CCopasiObject::~CCopasiObject();

    //Attributes
  protected:
    /** @dia:route 0,8; h,23.7081,50.8343,19.6311,4.45372,40.5964 */
    std::vector< CCopasiObject * > mObjects;

    // Operations
  private:
    CCopasiContainer();

  public:
    CCopasiContainer(const std::string & name,
                     const CCopasiContainer * pParent = NULL,
                     const std::string & type = "CN",
                     const unsigned C_INT32 & flag = CCopasiObject::Container);

    CCopasiContainer(const CCopasiContainer & src,
                     const CCopasiContainer * pParent = NULL);

    virtual ~CCopasiContainer();

    virtual const CCopasiObject * getObject(const CCopasiObjectName & cn) const;

    const std::vector< CCopasiObject * > & getObjects() const;

    void add(CCopasiObject * pObject);<commit_msg>Declared getObjects as virtual.<commit_after>/**
 * Class CCopasiContainer
 *
 * This class is the is used to group CCopasiObjects logically. It inself is 
 * an object. Contained objects are still globally accessible.
 *
 * Copyright <NAME> 2002
 */

#ifndef COPASI_CCopasiContainer
#define COPASI_CCopasiContainer

#include <vector>
#include "CCopasiObject.h"

/** @dia:pos 23.7081,50.8343 */
/** @dia:route CCopasiObject; v,60.054,22.7537,47.9048,40.5521,50.8343 */
class CCopasiContainer: public CCopasiObject
  {
    friend CCopasiObject::CCopasiObject(const std::string & name,
                                        const CCopasiContainer * pParent,
                                        const std::string & type,
                                        const unsigned C_INT32 & flag);

    friend CCopasiObject::CCopasiObject(const CCopasiObject & src,
                                        const CCopasiContainer * pParent);

    friend CCopasiObject::~CCopasiObject();

    //Attributes
  protected:
    /** @dia:route 0,8; h,23.7081,50.8343,19.6311,4.45372,40.5964 */
    std::vector< CCopasiObject * > mObjects;

    // Operations
  private:
    CCopasiContainer();

  public:
    CCopasiContainer(const std::string & name,
                     const CCopasiContainer * pParent = NULL,
                     const std::string & type = "CN",
                     const unsigned C_INT32 & flag = CCopasiObject::Container);

    CCopasiContainer(const CCopasiContainer & src,
                     const CCopasiContainer * pParent = NULL);

    virtual ~CCopasiContainer();

    virtual const CCopasiObject * getObject(const CCopasiObjectName & cn) const;

    virtual const std::vector< CCopasiObject * > & getObjects() const;

    void add(CCopasiObject * pObject);
{'fraction_non_alphanumeric': 0.09824462061155152, 'fraction_numerical': 0.045866364665911666, 'mean_word_length': 2.4168278529980656, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3200254', 'n_tokens_mistral': 1123, 'n_tokens_neox': 996, 'n_words': 241}