// File: /workspace/github_cpp_makefile_star2_O2/errantlinguist[P]Forecast/src/console_weather/writers/FlagsConsoleWriter.cpp
// Function: console_weather::writers::FlagsConsoleWriter::write(forecast_io::Flags const&, std::ostream&)
void FlagsConsoleWriter::write(const forecast_io::Flags& value, std::ostream& output)
{
	output << "Measurement system: ";
	static const forecast_io::MeasurementSystemNameArray& measurementNames = *forecast_io::MeasurementSystemDefaultNameArrayHolder::getInstance();
	const std::string measurementName =
			measurementNames[static_cast<size_t>(value.getUnits())];
	output << measurementName << '\n';

	output << "Dark Sky service is available: ";
	const std::string darkskyAvailableStr = common::to_string(
			!value.isDarkskyUnavailable());
	output << darkskyAvailableStr << '\n';

	output << "met.no license is present: ";
	const std::string metnoLicenseStr = common::to_string(
			value.hasMetnoLicense());
	output << metnoLicenseStr << '\n';

	const std::unordered_set<std::string>& sources = value.getSources();
	output << "Sources used: " << sources.size() << '\n';

	const std::unordered_multimap<std::string, std::string>& stations =
			value.getStations();
	output << "Stations used: " << stations.size() << '\n';

}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x70, %rsp
movq %rdx, %r14
movq %rsi, %rbx
leaq 0xdc0c(%rip), %rsi      # 0x231a2
movq %rdx, %rdi
callq 0x9360
movb 0x24534(%rip), %al      # 0x39ad8
testb %al, %al
je 0x156cd
movq 0x80(%rbx), %rsi
shlq $0x5, %rsi
addq 0x24512(%rip), %rsi     # 0x39ad0
leaq 0x50(%rsp), %r15
movq %r15, %rdi
callq 0x9330
movq %r14, %rdi
movq %r15, %rsi
callq 0x9170
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x93e0
leaq 0xdbcf(%rip), %rsi      # 0x231b7
movq %r14, %rdi
callq 0x9360
movb 0x8(%rbx), %al
xorb $0x1, %al
leaq 0x10(%rsp), %rsi
movb %al, (%rsi)
leaq 0x30(%rsp), %rdi
callq 0x1508b
leaq 0x30(%rsp), %rsi
movq %r14, %rdi
callq 0x9170
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x93e0
leaq 0xdbb2(%rip), %rsi      # 0x231d7
movq %r14, %rdi
callq 0x9360
movb 0x9(%rbx), %al
leaq 0xf(%rsp), %rsi
movb %al, (%rsi)
leaq 0x10(%rsp), %rdi
callq 0x1508b
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x9170
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x93e0
leaq 0xdb93(%rip), %rsi      # 0x231f3
movq %r14, %rdi
callq 0x9360
movq 0x28(%rbx), %rsi
movq %rax, %rdi
callq 0x92e0
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x93e0
leaq 0xdb7c(%rip), %rsi      # 0x23202
movq %r14, %rdi
callq 0x9360
movq 0x60(%rbx), %rsi
movq %rax, %rdi
callq 0x92e0
pushq $0xa
popq %rsi
movq %rax, %rdi
callq 0x93e0
leaq 0x10(%rsp), %rdi
callq 0x9710
leaq 0x30(%rsp), %rdi
callq 0x9710
leaq 0x50(%rsp), %rdi
callq 0x9710
addq $0x70, %rsp
popq %rbx
popq %r14
popq %r15
retq
leaq 0x24404(%rip), %rdi     # 0x39ad8
callq 0x91b0
testl %eax, %eax
je 0x155ac
callq 0x1574e
movq (%rax), %rax
movq %rax, 0x243e0(%rip)     # 0x39ad0
leaq 0x243e1(%rip), %rdi     # 0x39ad8
callq 0x9350
jmp 0x155ac
movq %rax, %rbx
leaq 0x243cd(%rip), %rdi     # 0x39ad8
callq 0x9220
jmp 0x15745
jmp 0x15729
jmp 0x15738
jmp 0x1571a
jmp 0x1571a
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x9710
jmp 0x1572c
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x9710
jmp 0x1573b
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x9710
movq %rbx, %rdi
callq 0x93b0
nop