Naptar.h
//
// Készítette: Toldi Balázs Ádám
// Dátum: 2020. 04. 07.
//
#ifndef HF_NAPTAR_NAPTAR_H
#define HF_NAPTAR_NAPTAR_H
#include <iostream>
#include <cstring>
#include <algorithm>
#include "Datum.h"
class Naptar {
Datum **napok;
size_t db;
public:
class iterator;
size_t size() const;
Naptar();
Naptar(Datum* n);
Naptar(const char* filename);
bool foglalt(const Datum nap);
bool foglalt(int ev, int honap, int nap);
void felszabadit(const Datum &nap);
void felszabadit(int ev, int honap, int nap);
void urit();
void hozzaad(Datum* n);
void hozzaad(int ev, int honap, int nap);
void printTable(int ev);
void printTable(int ev,int honap);
void exportCSV(const char* path);
virtual ~Naptar();
iterator begin();
iterator end();
iterator at(size_t id);
Naptar&operator=(const Naptar& np);
Naptar(Naptar& np);
class iterator {
Datum **akt;
Datum **veg;
public:
iterator() : akt(nullptr), veg(nullptr) {};
explicit iterator(Naptar &nptr, int n = 0) : akt(nptr.napok + n), veg(nptr.napok + nptr.db) {};
Datum& operator*() const;
iterator operator++();
iterator operator++(int i);
Datum *operator->();
bool operator==(const iterator &it);
bool operator!=(const iterator &it);
int operator-(const iterator &it);
};
};
std::ostream &operator<<(std::ostream &os, Naptar &np);
#endif //HF_NAPTAR_NAPTAR_H
Naptar
A naptár osztály tárolja azoknak a napoknak a dátumát,amely napok foglaltak már. Ha az osztály kap eg...
Definition: Naptar.h:21
Datum::getHonap
int getHonap() const
Megadja a dátum hónapját.
Definition: Datum.cpp:27
Naptar::iterator::veg
Datum ** veg
Mutató a tömb végére.
Definition: Naptar.h:160
Naptar::iterator::akt
Datum ** akt
Mutató az aktuális elemre.
Definition: Naptar.h:158
Datum
Egy naptár alapját napok képzik. Ezeket ebben az osztályban tároljuk. Ez tárolja az adott dátum évét,...
Definition: Datum.h:23
Naptar::urit
void urit()
Kiüríti a tömböt.
Definition: Naptar.cpp:84
Naptar::begin
iterator begin()
Bejáró kezdete.
Definition: Naptar.cpp:94
Naptar::iterator::operator*
Datum & operator*() const
Bejáró dereferálása.
Definition: Naptar.cpp:118
Naptar::iterator::operator==
bool operator==(const iterator &it)
Definition: Naptar.cpp:145
Naptar::iterator::operator++
iterator operator++()
iterator léptetése (preinkrementer)
Definition: Naptar.cpp:132
Naptar::end
iterator end()
Bejáró vége.
Definition: Naptar.cpp:98
Naptar::size
size_t size() const
A tömb aktuális mérete.
Definition: Naptar.cpp:27
Naptar::Naptar
Naptar()
Paraméter nélkül hívható konstruktor.
Definition: Naptar.cpp:14
Naptar::hozzaad
void hozzaad(Datum *n)
Hozzáad egy új elemet a listához.
Definition: Naptar.cpp:42
Datum::getEv
int getEv() const
Megadja a dátum évét.
Definition: Datum.cpp:23
Naptar::~Naptar
virtual ~Naptar()
Destruktor. Itt törlődik az összes elem.
Definition: Naptar.cpp:23
Naptar::db
size_t db
A tömb aktuális mérete.
Definition: Naptar.h:25
Naptar::iterator::operator-
int operator-(const iterator &it)
Definition: Naptar.cpp:153
Naptar::iterator::iterator
iterator(Naptar &nptr, int n=0)
Definition: Naptar.h:169
Naptar::at
iterator at(size_t id)
Visszaadja az adott helyen lévő Datum iterátor-át.
Definition: Naptar.cpp:102
Naptar::exportCSV
void exportCSV(const char *path)
A naptár tartalmát kimenti egy CSV fájlba.
Naptar::iterator::operator!=
bool operator!=(const iterator &it)
Definition: Naptar.cpp:149
Naptar::operator=
Naptar & operator=(const Naptar &np)
Érték adó operátor.
Datum::getNap
int getNap() const
Megadja a dátum napját.
Definition: Datum.cpp:31
Naptar::iterator
Definition: Naptar.h:156
Naptar::printTable
void printTable(int ev)
Kiirja a megadott évre tervezett eseményeket.
Definition: Naptar.cpp:157
Naptar::napok
Datum ** napok
Dinamikusan méretezett tömb. A konstruktorban jön létre és a destruktorban szűnik meg.
Definition: Naptar.h:23
Naptar::foglalt
bool foglalt(const Datum nap)
Megnézi, hogy egy adott dátum foglalt-e.
Definition: Naptar.cpp:31
Naptar::iterator::iterator
iterator()
Paraméter nélkül hívható konstruktor.
Definition: Naptar.h:163
Naptar::felszabadit
void felszabadit(const Datum &nap)
Kivesz egy Datum osztályt a tömbből.
Definition: Naptar.cpp:61