// File: DaCasBe[P]Gestion-de-asignaturas-mediante-listas-doblemente-enlazadas-ordenadas/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;
	std::string nombre_a;
	std::string codigo_a;
	Estudiante estudiante;

	fichero.open(nombreFichero.c_str()); //Abrimos el fichero

	if(!fichero){ //No se ha podido abrir el fichero
		std::cout << std::endl << ONIRED << "Error: no se encontro el fichero" << RESET << std::endl;
		std::cin.ignore();

		return false;
	}

	//Cargamos el nombre y el codigo de la asignatura
	getline(fichero,nombre_a);
	setNombre(nombre_a);
	getline(fichero,codigo_a);
	setCodigo(atoi(codigo_a.c_str()));
	
	//Cargamos la lista de estudiantes
	while(fichero >> estudiante){
		insertarEstudiante(estudiante.getNombre(),estudiante.getApellidos(),estudiante.getTeoria(),estudiante.getPractica());
	}

	fichero.close(); //Cerramos el fichero

	return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x390, %rsp            # imm = 0x390
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x318(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x31e0
leaq -0x240(%rbp), %rdi
callq 0x3220
jmp 0x5c68
leaq -0x270(%rbp), %rdi
callq 0x3220
jmp 0x5c76
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x32c0
movq -0x320(%rbp), %rdx
leaq 0x61e2(%rip), %rsi      # 0xbe79
leaq -0x2e0(%rbp), %rdi
callq 0x3210
jmp 0x5ca5
leaq -0x309(%rbp), %rdi
movq %rdi, -0x328(%rbp)
callq 0x32c0
movq -0x328(%rbp), %rdx
leaq 0x61b3(%rip), %rsi      # 0xbe79
leaq -0x308(%rbp), %rdi
callq 0x3210
jmp 0x5cd4
leaq -0x2c0(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
leaq -0x308(%rbp), %rdx
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x53c0
jmp 0x5cf6
leaq -0x308(%rbp), %rdi
callq 0x3120
jmp 0x5d04
leaq -0x309(%rbp), %rdi
callq 0x31d0
leaq -0x2e0(%rbp), %rdi
callq 0x3120
jmp 0x5d1e
leaq -0x2e1(%rbp), %rdi
callq 0x31d0
movq -0x18(%rbp), %rdi
callq 0x30d0
movq %rax, -0x330(%rbp)
jmp 0x5d3c
movq -0x330(%rbp), %rsi
leaq -0x220(%rbp), %rdi
movl $0x8, %edx
callq 0x3130
jmp 0x5d56
movq -0x220(%rbp), %rax
movq -0x18(%rax), %rax
leaq -0x220(%rbp,%rax), %rdi
callq 0x3100
movb %al, -0x331(%rbp)
jmp 0x5d76
movb -0x331(%rbp), %al
testb $0x1, %al
jne 0x5d85
jmp 0x5ef3
movq 0xa244(%rip), %rdi      # 0xffd0
movq 0xa22d(%rip), %rsi      # 0xffc0
callq 0x31c0
movq %rax, -0x340(%rbp)
jmp 0x5da1
movq -0x340(%rbp), %rdi
leaq 0x5f55(%rip), %rsi      # 0xbd04
callq 0x31a0
movq %rax, -0x348(%rbp)
jmp 0x5dbd
movq -0x348(%rbp), %rdi
leaq 0x5f42(%rip), %rsi      # 0xbd0d
callq 0x31a0
movq %rax, -0x350(%rbp)
jmp 0x5dd9
movq -0x350(%rbp), %rdi
leaq 0x5247(%rip), %rsi      # 0xb02e
callq 0x31a0
movq %rax, -0x358(%rbp)
jmp 0x5df5
movq -0x358(%rbp), %rdi
movq 0xa1bd(%rip), %rsi      # 0xffc0
callq 0x31c0
jmp 0x5e0a
movq 0xa1cf(%rip), %rdi      # 0xffe0
callq 0x32d0
jmp 0x5e18
movb $0x0, -0x1(%rbp)
movl $0x1, -0x310(%rbp)
jmp 0x6060
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x60da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x60ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5ebf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x5ea3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x3120
jmp 0x5ea1
jmp 0x5ea3
leaq -0x309(%rbp), %rdi
callq 0x31d0
leaq -0x2e0(%rbp), %rdi
callq 0x3120
jmp 0x5ebd
jmp 0x5ebf
leaq -0x2e1(%rbp), %rdi
callq 0x31d0
jmp 0x60a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x4fd0
jmp 0x6090
leaq -0x220(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x3070
jmp 0x5f08
movq -0x318(%rbp), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
leaq -0x240(%rbp), %rsi
callq *%rax
jmp 0x5f21
leaq -0x220(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x3070
jmp 0x5f36
leaq -0x270(%rbp), %rdi
callq 0x30d0
movq %rax, -0x360(%rbp)
jmp 0x5f4b
movq -0x360(%rbp), %rdi
callq 0x3270
movq -0x318(%rbp), %rdi
movl %eax, %esi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0x5f6b
jmp 0x5f6d
leaq -0x220(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x3a00
movq %rax, -0x368(%rbp)
jmp 0x5f89
movq -0x368(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x3280
movq %rax, -0x370(%rbp)
jmp 0x5fa8
movq -0x370(%rbp), %rax
cmpq $0x0, %rax
je 0x6044
leaq -0x2c0(%rbp), %rdi
callq 0x4f90
movq %rax, -0x378(%rbp)
jmp 0x5fce
leaq -0x2c0(%rbp), %rdi
callq 0x4fb0
movq %rax, -0x380(%rbp)
jmp 0x5fe3
leaq -0x2c0(%rbp), %rdi
callq 0x52c0
movss %xmm0, -0x384(%rbp)
jmp 0x5ff9
leaq -0x2c0(%rbp), %rdi
callq 0x52e0
movss %xmm0, -0x388(%rbp)
jmp 0x600f
movss -0x388(%rbp), %xmm1
movss -0x384(%rbp), %xmm0
movq -0x380(%rbp), %rdx
movq -0x378(%rbp), %rsi
movq -0x318(%rbp), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
jmp 0x603f
jmp 0x5f6d
leaq -0x220(%rbp), %rdi
callq 0x3090
jmp 0x6052
movb $0x1, -0x1(%rbp)
movl $0x1, -0x310(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x4fd0
jmp 0x606e
leaq -0x270(%rbp), %rdi
callq 0x3120
jmp 0x6092
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x248(%rbp)
movl %eax, -0x24c(%rbp)
jmp 0x60a0
jmp 0x60a0
leaq -0x240(%rbp), %rdi
callq 0x3120
jmp 0x60b0
leaq -0x270(%rbp), %rdi
callq 0x3120
jmp 0x60ae
jmp 0x60ca
leaq -0x220(%rbp), %rdi
callq 0x30a0
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x390, %rsp            # imm = 0x390
popq %rbp
retq
leaq -0x240(%rbp), %rdi
callq 0x3120
jmp 0x60d8
jmp 0x60da
leaq -0x220(%rbp), %rdi
callq 0x30a0
jmp 0x60e8
jmp 0x60ea
movq -0x248(%rbp), %rdi
callq 0x32b0
movq %rax, %rdi
callq 0x5040
nop