LCOV - code coverage report
Current view: top level - src/activitygen/city - AGPerson.h (source / functions) Coverage Total Hit
Test: lcov.info Lines: 100.0 % 1 1
Test Date: 2024-11-22 15:46:21 Functions: - 0 0

            Line data    Source code
       1              : /****************************************************************************/
       2              : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
       3              : // Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
       4              : // activitygen module
       5              : // Copyright 2010 TUM (Technische Universitaet Muenchen, http://www.tum.de/)
       6              : // This program and the accompanying materials are made available under the
       7              : // terms of the Eclipse Public License 2.0 which is available at
       8              : // https://www.eclipse.org/legal/epl-2.0/
       9              : // This Source Code may also be made available under the following Secondary
      10              : // Licenses when the conditions for such availability set forth in the Eclipse
      11              : // Public License 2.0 are satisfied: GNU General Public License, version 2
      12              : // or later which is available at
      13              : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
      14              : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
      15              : /****************************************************************************/
      16              : /// @file    AGPerson.h
      17              : /// @author  Piotr Woznica
      18              : /// @author  Walter Bamberger
      19              : /// @author  Daniel Krajzewicz
      20              : /// @date    July 2010
      21              : ///
      22              : // Parent object of every person, contains age and any natural characteristic
      23              : /****************************************************************************/
      24              : #pragma once
      25              : #include <config.h>
      26              : 
      27              : 
      28              : // ===========================================================================
      29              : // class definitions
      30              : // ===========================================================================
      31              : /**
      32              :  * @class AGPerson
      33              :  * @brief Base class of every person in the city (adults and children)
      34              :  *
      35              :  * This class provides the functionality common to all person in the city. It
      36              :  * is a base class for other classes and is not intended to be instantiated
      37              :  * as an object. Therefore, all constructors are protected.
      38              :  */
      39         6292 : class AGPerson {
      40              : public:
      41              :     /** @brief Provides the age of the person.
      42              :      *
      43              :      * @return the age in years
      44              :      */
      45              :     virtual int getAge() const;
      46              : 
      47              :     /** @brief Lets the person make a decision.
      48              :      *
      49              :      * The higher the degree of belief is, the more likely this method returns
      50              :      * true.
      51              :      *
      52              :      * @param[in] degreeOfBelief how strong the person beliefs the proposition
      53              :      * @return whether the person agrees with the proposition
      54              :      */
      55              :     virtual bool decide(double probability) const;
      56              : 
      57              :     /** @brief Puts out a summary of the class properties.
      58              :      */
      59              :     virtual void print() const;
      60              : 
      61              : protected:
      62              :     int age;
      63              : 
      64              :     /** @brief Initialises the class attributes.
      65              :      *
      66              :      * @param[in] age the age of the person
      67              :      */
      68              :     AGPerson(int age);
      69              : 
      70              :     /** @brief Cleans up everything.
      71              :      */
      72              :     virtual ~AGPerson();
      73              : };
        

Generated by: LCOV version 2.0-1