Skip to content

Commit

Permalink
Initial IntervalDTOConverter implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
Lucio Trincheri committed Dec 11, 2024
1 parent 3338a0b commit 12b5071
Show file tree
Hide file tree
Showing 3 changed files with 90 additions and 2 deletions.
7 changes: 5 additions & 2 deletions sbg/Makefile.include
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
UTIL_ROOT := util
SBG_ROOT := sbg
DTO_ROOT := sbg/dto
CONVERTERS_ROOT := sbg/dto/converters

# Sources
SBG_SRC := \
Expand All @@ -16,7 +17,8 @@ DTO_ROOT := sbg/dto
$(SBG_ROOT)/pw_map.cpp \
$(SBG_ROOT)/sbg.cpp \
$(SBG_ROOT)/sbg_algorithms.cpp \
$(DTO_ROOT)/interval_dto.cpp
$(DTO_ROOT)/interval_dto.cpp \
$(CONVERTERS_ROOT)/interval_dto_converter.cpp

include util/Makefile.include

Expand All @@ -25,4 +27,5 @@ SBG_OBJ=$(addprefix $(BUILD_DIR)/, $(SBG_SRC:.cpp=.o))

create-folders::
@mkdir -p $(BUILD_DIR)/$(SBG_ROOT) \
@mkdir -p $(BUILD_DIR)/$(DTO_ROOT)
@mkdir -p $(BUILD_DIR)/$(DTO_ROOT) \
@mkdir -p $(BUILD_DIR)/$(CONVERTERS_ROOT)
32 changes: 32 additions & 0 deletions sbg/dto/converters/interval_dto_converter.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*******************************************************************************
This file is part of Set--Based Graph Library.
SBG Library is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SBG Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SBG Library. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/

#include "sbg/dto/converters/interval_dto_converter.hpp"

namespace SBG {

namespace API {

SBG::LIB::Interval IntervalDTOConverter::convertToInterval(const IntervalDTO& dto) {
return SBG::LIB::Interval(dto.begin_, dto.step_, dto.end_);
}

} // namespace API

} // namespace SBG
53 changes: 53 additions & 0 deletions sbg/dto/converters/interval_dto_converter.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/** @file interval_dto_converter.hpp
@brief <b>IntervalDTOConverter implementation</b>
The IntervalDTOConverter provides the methods to convert an IntervalDTO to
the corresponding interval representation. Currently, it can convert to
LIB::Interval, but more conversions can/will be added in the future.
<hr>
This file is part of Set--Based Graph Library.
SBG Library is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
SBG Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with SBG Library. If not, see <http://www.gnu.org/licenses/>.
******************************************************************************/

#ifndef SBG_DTO_INTERVAL_CONVERTER_HPP
#define SBG_DTO_INTERVAL_CONVERTER_HPP

#include "sbg/dto/interval_dto.hpp"
#include "sbg/interval.hpp"

namespace SBG {

namespace API {

class IntervalDTOConverter {
public:
/**
* @brief Converts an IntervalDTO object to an actual interval implementation (e.g., LIB::Interval).
*
* @param dto The IntervalDTO object to convert.
* @return SBG::LIB::Interval The converted interval object.
*/
static SBG::LIB::Interval convertToInterval(const IntervalDTO& dto);
};

} // namespace API

} // namespace SBG

#endif // SBG_DTO_INTERVAL_CONVERTER_HPP

0 comments on commit 12b5071

Please sign in to comment.