// File: /workspace/github_cpp_makefile_star2_O2/DaCasBe[P]Gestion-de-asignaturas-mediante-arboles-binarios-ordenados/asignatura.cpp
// Function: ed::Asignatura::cargarFichero(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool ed::Asignatura::cargarFichero(std::string const &nombreFichero){
	std::ifstream fichero;
	ed::Estudiante estudiante;
	char nombre[30];
	char codigo[5];

	fichero.open(nombreFichero.c_str()); //Abrimos el fichero con el nombre recibido

	if(!fichero){ //No se ha podido abrir el fichero
		return false;
	}

	else{ //Se ha podido abrir el fichero
		//Leemos del fichero el nombre y el código de la asignatura
		fichero.getline(nombre,30,'\n');
		setNombre(nombre);
		fichero.getline(codigo,5,'\n');
		setCodigo(atoi(codigo));

		while(fichero >> estudiante){ //Leemos del fichero los datos de un estudiante
			if(!insertarEstudiante(estudiante)){ //Insertamos el estudiante
				std::cout << "No ha podido insertarse un estudiante" << std::endl;

				return false;
			}
		}

		fichero.close(); //Cerramos el fichero

		return true;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x2e8, %rsp            # imm = 0x2E8
movq %rsi, %r14
movq %rdi, %rbx
leaq -0x2f8(%rbp), %rdi
callq 0x2180
leaq 0x42f0(%rip), %rsi      # 0x7811
leaq -0x80(%rbp), %rdi
leaq -0x40(%rbp), %rdx
callq 0x20a0
leaq 0x42dc(%rip), %rsi      # 0x7811
leaq -0x60(%rbp), %rdi
leaq -0xa0(%rbp), %rdx
callq 0x20a0
leaq -0xf0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0x60(%rbp), %rdx
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
callq 0x37fe
leaq -0x60(%rbp), %rdi
callq 0x2190
leaq -0x80(%rbp), %rdi
callq 0x2190
movq (%r14), %rsi
leaq -0x2f8(%rbp), %rdi
pushq $0x8
popq %rdx
callq 0x2100
movq -0x2f8(%rbp), %rax
movq -0x18(%rax), %rax
testb $0x5, -0x2d8(%rbp,%rax)
jne 0x365a
leaq -0x2f8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
pushq $0x1e
popq %rdx
pushq $0xa
popq %rcx
callq 0x2250
leaq -0x40(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
leaq -0x19(%rbp), %rdx
callq 0x20a0
movq (%rbx), %rax
leaq -0x40(%rbp), %rsi
movq %rbx, %rdi
callq *0x40(%rax)
leaq -0x40(%rbp), %rdi
callq 0x2190
leaq -0x2f8(%rbp), %rdi
leaq -0x1e(%rbp), %rsi
pushq $0x5
popq %rdx
pushq $0xa
popq %rcx
callq 0x2250
leaq -0x1e(%rbp), %rdi
callq 0x2200
movq (%rbx), %rcx
movq %rbx, %rdi
movl %eax, %esi
callq *0x38(%rcx)
leaq -0x2f8(%rbp), %r14
leaq -0xf0(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x28d5
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
testb $0x5, 0x20(%rax,%rcx)
jne 0x3684
movq %rbx, %rdi
movq %r15, %rsi
callq 0x38ac
testb %al, %al
jne 0x3617
movq 0x798a(%rip), %rdi      # 0xafd0
leaq 0x40a3(%rip), %rsi      # 0x76f0
callq 0x2160
movq %rax, %rdi
callq 0x20d0
xorl %ebx, %ebx
leaq -0xf0(%rbp), %rdi
callq 0x3198
leaq -0x2f8(%rbp), %rdi
callq 0x2080
movl %ebx, %eax
addq $0x2e8, %rsp            # imm = 0x2E8
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, %bl
leaq -0x2f8(%rbp), %rdi
callq 0x2070
jmp 0x365c
movq %rax, %rbx
leaq -0x40(%rbp), %rdi
callq 0x2190
jmp 0x36cc
jmp 0x36c9
jmp 0x36b4
movq %rax, %rbx
leaq -0x60(%rbp), %rdi
callq 0x2190
jmp 0x36bc
movq %rax, %rbx
jmp 0x36d8
movq %rax, %rbx
leaq -0x80(%rbp), %rdi
callq 0x2190
jmp 0x36d8
jmp 0x36c9
movq %rax, %rbx
leaq -0xf0(%rbp), %rdi
callq 0x3198
leaq -0x2f8(%rbp), %rdi
callq 0x2080
movq %rbx, %rdi
callq 0x2230
movq %rax, %rdi
callq 0x3298