#include <xtd/xtd>
class example {
public:
static auto main() -> void {
auto dinosaurs = list<string> {};
dinosaurs.add("Compsognathus");
dinosaurs.add("Amargasaurus");
dinosaurs.add("Oviraptor");
dinosaurs.add("Velociraptor");
dinosaurs.add("Deinonychus");
dinosaurs.add("Dilophosaurus");
dinosaurs.add("Gallimimus");
dinosaurs.add("Triceratops");
console::write_line();
for (const auto& dinosaur : dinosaurs)
console::write_line(dinosaur);
console::write_line("\ntrue_for_all(ends_with_saurus): {0}", dinosaurs.true_for_all(ends_with_saurus));
console::write_line("\nfind(ends_with_saurus): {0}", dinosaurs.find(ends_with_saurus).value_or("(none)"));
console::write_line("\nfindLast(ends_with_saurus): {0}", dinosaurs.find_last(ends_with_saurus).value_or("(none)"));
console::write_line("\nfind_all(ends_with_saurus):");
auto sublist = dinosaurs.find_all(ends_with_saurus);
for (const auto& dinosaur : sublist)
console::write_line(dinosaur);
console::write_line("\n{0} elements removed by remove_all(ends_with_saurus).", dinosaurs.remove_all(predicate<const string&> {ends_with_saurus}));
console::write_line("\nlist now contains:");
for (const auto& dinosaur : dinosaurs)
console::write_line(dinosaur);
console::write_line("\nexists(ends_with_saurus): {0}", dinosaurs.exists(predicate<const string&> {ends_with_saurus}));
}
private:
static bool ends_with_saurus(const string& s) {
return s.to_lower().ends_with("saurus");
}
};
#define startup_(main_method)
Defines the entry point to be called when the application loads. Generally this is set either to the ...
Definition startup.hpp:168