X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fcinema.cc;h=3b4b9d7b615aa1a7116f4acb221abd3658fe41da;hp=469cf2e6b2de20d56687e91ff42cf2d3c1f5a452;hb=9f125fddff88bf62d36381f9d3f09e5240b033d5;hpb=3828baf56467224f5d44049bf1e7a7ed11f43a05 diff --git a/src/lib/cinema.cc b/src/lib/cinema.cc index 469cf2e6b..3b4b9d7b6 100644 --- a/src/lib/cinema.cc +++ b/src/lib/cinema.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2016 Carl Hetherington + Copyright (C) 2013-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,24 +18,27 @@ */ + #include "cinema.h" #include "screen.h" #include "dcpomatic_assert.h" #include #include #include -#include -#include -using std::list; + +using std::make_shared; +using std::shared_ptr; using std::string; -using boost::shared_ptr; +using dcp::raw_convert; +using dcpomatic::Screen; + Cinema::Cinema (cxml::ConstNodePtr node) : name (node->string_child ("Name")) , notes (node->optional_string_child("Notes").get_value_or("")) { - BOOST_FOREACH (cxml::ConstNodePtr i, node->node_children("Email")) { + for (auto i: node->node_children("Email")) { emails.push_back (i->content ()); } @@ -54,9 +57,8 @@ Cinema::Cinema (cxml::ConstNodePtr node) void Cinema::read_screens (cxml::ConstNodePtr node) { - list s = node->node_children ("Screen"); - for (list::iterator i = s.begin(); i != s.end(); ++i) { - add_screen (shared_ptr (new Screen (*i))); + for (auto i: node->node_children("Screen")) { + add_screen (make_shared(i)); } } @@ -65,16 +67,16 @@ Cinema::as_xml (xmlpp::Element* parent) const { parent->add_child("Name")->add_child_text (name); - BOOST_FOREACH (string i, emails) { + for (auto i: emails) { parent->add_child("Email")->add_child_text (i); } parent->add_child("Notes")->add_child_text (notes); - parent->add_child("UTCOffsetHour")->add_child_text (dcp::raw_convert (_utc_offset_hour)); - parent->add_child("UTCOffsetMinute")->add_child_text (dcp::raw_convert (_utc_offset_minute)); + parent->add_child("UTCOffsetHour")->add_child_text (raw_convert (_utc_offset_hour)); + parent->add_child("UTCOffsetMinute")->add_child_text (raw_convert (_utc_offset_minute)); - BOOST_FOREACH (shared_ptr i, _screens) { + for (auto i: _screens) { i->as_xml (parent->add_child ("Screen")); } } @@ -89,7 +91,10 @@ Cinema::add_screen (shared_ptr s) void Cinema::remove_screen (shared_ptr s) { - _screens.remove (s); + auto iter = std::find(_screens.begin(), _screens.end(), s); + if (iter != _screens.end()) { + _screens.erase(iter); + } } void